add diagnostic script for runner registration

This commit is contained in:
2026-07-13 17:24:26 +08:00
parent 99b56d4672
commit 9a80b864a2
+93
View File
@@ -0,0 +1,93 @@
#!/bin/sh
set +e # 不要出错就退出,我们要看到所有输出
echo "=== STEP 1: Host Info ==="
hostname
ip addr show | grep inet | head -5
echo ""
echo "=== STEP 2: Find SSH keys ==="
ls -la /root/.ssh/ 2>/dev/null || echo "No /root/.ssh"
KEY=""
for k in /root/.ssh/new_runner_ed25519 /root/.ssh/id_ed25519 /root/.ssh/id_xiaoxia_release_ed25519 /root/.ssh/id_rsa; do
if [ -f "$k" ]; then
KEY="$k"
echo "Found SSH key: $k"
break
fi
done
if [ -z "$KEY" ]; then
echo "NO SSH KEY FOUND - cannot continue"
exit 1
fi
echo ""
echo "=== STEP 3: Test SSH connection to new server ==="
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=10 -i "$KEY" root@172.30.18.199 "hostname && echo 'SSH OK!' && uname -a" 2>&1
SSH_EXIT=$?
echo "SSH exit code: $SSH_EXIT"
if [ $SSH_EXIT -ne 0 ]; then
echo "SSH FAILED - trying with password auth..."
exit 1
fi
echo ""
echo "=== STEP 4: Check act_runner on remote ==="
ssh -o StrictHostKeyChecking=no -i "$KEY" root@172.30.18.199 '
echo "Remote hostname: $(hostname)"
find /opt -name act_runner -type f 2>/dev/null | head -5
ls -la /opt/act-runner/ 2>/dev/null || echo "No /opt/act-runner"
which act_runner 2>/dev/null || echo "act_runner not in PATH"
'
echo ""
echo "=== STEP 5: Try registering ONE runner to see output ==="
ssh -o StrictHostKeyChecking=no -i "$KEY" root@172.30.18.199 '
ACT_RUNNER="/opt/act-runner/runner-1/act_runner"
if [ ! -f "$ACT_RUNNER" ]; then
ACT_RUNNER=$(find /opt -name act_runner -type f 2>/dev/null | head -1)
fi
echo "Using act_runner: $ACT_RUNNER"
if [ -z "$ACT_RUNNER" ]; then
echo "No act_runner found"
exit 1
fi
echo "Version info:"
$ACT_RUNNER --version 2>&1 || true
echo ""
echo "Registering test runner..."
REPO_TOKEN="ZMFH02WcdElay5ATmhhQYe1WNTESO9XMXcF0H9Tj"
GITEA_URL="https://git.xiaoxiajianji.com"
# 用临时目录测试注册
TEST_DIR="/tmp/test-saas-runner"
rm -rf "$TEST_DIR"
mkdir -p "$TEST_DIR"
cd "$TEST_DIR"
$ACT_RUNNER register \
--instance "$GITEA_URL" \
--token "$REPO_TOKEN" \
--name "diag-test-runner" \
--labels "saas,runtime-builder,host,ubuntu-latest" \
--no-interactive 2>&1
REG_EXIT=$?
echo "Register exit code: $REG_EXIT"
echo ""
echo "Contents of .runner file (if exists):"
cat "$TEST_DIR/.runner" 2>/dev/null || echo "No .runner file"
# 清理
cd /
rm -rf "$TEST_DIR"
'
echo ""
echo "=== DIAGNOSIS COMPLETE ==="