fix: correct act_runner path for new server
This commit is contained in:
+58
-35
@@ -1,39 +1,57 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
REPO_TOKEN="ZMFH02WcdElay5ATmhhQYe1WNTESO9XMXcF0H9Tj"
|
||||
GITEA_URL="https://git.xiaoxiajianji.com"
|
||||
BASE_DIR="/opt/act-runner"
|
||||
LABELS="saas,runtime-builder,host,ubuntu-latest"
|
||||
echo "=== 探测Runner环境 ==="
|
||||
echo "Hostname: $(hostname)"
|
||||
echo "IPs: $(hostname -I)"
|
||||
|
||||
# 找act_runner
|
||||
ACT_RUNNER=""
|
||||
for p in /opt/act-runner/runner-1/act_runner /opt/act-runner/runner-2/act_runner /var/lib/xiaoxia-ci/act_runner /usr/local/bin/act_runner; do
|
||||
if [ -f "$p" ]; then
|
||||
ACT_RUNNER="$p"
|
||||
echo "Found act_runner: $p"
|
||||
$p --version 2>&1 || true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# 找到act_runner二进制
|
||||
ACT_RUNNER=$(find /opt/act-runner -name act_runner -type f 2>/dev/null | head -1)
|
||||
if [ -z "$ACT_RUNNER" ]; then
|
||||
echo "ERROR: act_runner binary not found"
|
||||
find / -name act_runner -type f 2>/dev/null | head -5
|
||||
echo "Searching for act_runner..."
|
||||
find /opt /var -name act_runner -type f 2>/dev/null | head -10
|
||||
echo "ERROR: act_runner not found"
|
||||
exit 1
|
||||
fi
|
||||
echo "Found act_runner: $ACT_RUNNER"
|
||||
echo "Version: $($ACT_RUNNER --version 2>&1)"
|
||||
|
||||
# 注册6个新的仓库级Runner
|
||||
for i in $(seq 6 11); do
|
||||
RUNNER_DIR="${BASE_DIR}/saas-runner-${i}"
|
||||
echo "=== Registering saas-runner-${i} ==="
|
||||
# 只在新服务器上执行(hostname包含new或特定标识)
|
||||
# 或者只在有多个runner目录的服务器上执行
|
||||
RUNNER_COUNT=$(find /opt/act-runner -maxdepth 1 -type d -name "runner-*" 2>/dev/null | wc -l)
|
||||
echo "Runner dirs count: $RUNNER_COUNT"
|
||||
|
||||
# 如果是新服务器(有5个runner目录),执行注册
|
||||
if [ "$RUNNER_COUNT" -ge 5 ]; then
|
||||
echo "=== 检测到新服务器,开始注册6个仓库级Runner ==="
|
||||
|
||||
mkdir -p "$RUNNER_DIR"
|
||||
cd "$RUNNER_DIR"
|
||||
REPO_TOKEN="ZMFH02WcdElay5ATmhhQYe1WNTESO9XMXcF0H9Tj"
|
||||
GITEA_URL="https://git.xiaoxiajianji.com"
|
||||
BASE_DIR="/opt/act-runner"
|
||||
LABELS="saas,runtime-builder,host,ubuntu-latest"
|
||||
|
||||
# 注册
|
||||
$ACT_RUNNER register \
|
||||
--instance "$GITEA_URL" \
|
||||
--token "$REPO_TOKEN" \
|
||||
--name "saas-runner-${i}" \
|
||||
--labels "$LABELS" \
|
||||
--no-interactive 2>&1
|
||||
|
||||
# 创建systemd服务
|
||||
cat > /etc/systemd/system/gitea-saas-runner-${i}.service << EOF
|
||||
for i in $(seq 6 11); do
|
||||
RUNNER_DIR="${BASE_DIR}/saas-runner-${i}"
|
||||
echo "--- Registering saas-runner-${i} ---"
|
||||
|
||||
mkdir -p "$RUNNER_DIR"
|
||||
cd "$RUNNER_DIR"
|
||||
|
||||
$ACT_RUNNER register \
|
||||
--instance "$GITEA_URL" \
|
||||
--token "$REPO_TOKEN" \
|
||||
--name "saas-runner-${i}" \
|
||||
--labels "$LABELS" \
|
||||
--no-interactive 2>&1
|
||||
|
||||
cat > /etc/systemd/system/gitea-saas-runner-${i}.service << EOF
|
||||
[Unit]
|
||||
Description=Gitea Actions Runner saas-${i}
|
||||
After=network.target
|
||||
@@ -49,13 +67,18 @@ User=root
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable gitea-saas-runner-${i}
|
||||
systemctl start gitea-saas-runner-${i}
|
||||
echo "Started saas-runner-${i}"
|
||||
sleep 1
|
||||
done
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable gitea-saas-runner-${i}
|
||||
systemctl start gitea-saas-runner-${i}
|
||||
echo "Started saas-runner-${i}"
|
||||
sleep 1
|
||||
done
|
||||
|
||||
echo "=== All 6 runners registered ==="
|
||||
systemctl status gitea-saas-runner-* --no-pager | head -40
|
||||
echo "=== 全部注册完成 ==="
|
||||
systemctl status gitea-saas-runner-* --no-pager | head -60
|
||||
else
|
||||
echo "不是新服务器(Runner目录不足5个),跳过注册"
|
||||
echo "这台机器上Runner目录数: $RUNNER_COUNT"
|
||||
ls /opt/act-runner/ 2>/dev/null || echo "no /opt/act-runner"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user