From 9a80b864a228cf2f249921cf359aa2e4ba27fc3d Mon Sep 17 00:00:00 2001 From: xiaoxia Date: Mon, 13 Jul 2026 17:24:26 +0800 Subject: [PATCH] add diagnostic script for runner registration --- diag_register.sh | 93 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 diag_register.sh diff --git a/diag_register.sh b/diag_register.sh new file mode 100644 index 000000000..4c4a46d42 --- /dev/null +++ b/diag_register.sh @@ -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 ==="