From c14010102841ca2bb72ef7b160f52fc696570059 Mon Sep 17 00:00:00 2001 From: CI Bot Date: Mon, 13 Jul 2026 18:13:49 +0800 Subject: [PATCH] ops: downgrade new server runners to v0.2.6 host mode --- .gitea/workflows/downgrade-runners.yml | 18 ++++++ scripts/downgrade_runners_v026.sh | 85 ++++++++++++++++++++++++++ 2 files changed, 103 insertions(+) create mode 100644 .gitea/workflows/downgrade-runners.yml create mode 100755 scripts/downgrade_runners_v026.sh diff --git a/.gitea/workflows/downgrade-runners.yml b/.gitea/workflows/downgrade-runners.yml new file mode 100644 index 000000000..ca1f8cb96 --- /dev/null +++ b/.gitea/workflows/downgrade-runners.yml @@ -0,0 +1,18 @@ +name: Downgrade New Runners to v0.2.6 + +on: + push: + branches: + - ops/downgrade-runners + workflow_dispatch: + +jobs: + downgrade: + runs-on: saas + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Downgrade all runners on new server to v0.2.6 + run: | + bash scripts/downgrade_runners_v026.sh diff --git a/scripts/downgrade_runners_v026.sh b/scripts/downgrade_runners_v026.sh new file mode 100755 index 000000000..f4c9cc110 --- /dev/null +++ b/scripts/downgrade_runners_v026.sh @@ -0,0 +1,85 @@ +#!/bin/bash +set -e + +NEW_SERVER="172.30.18.199" +SSH_KEY="/tmp/new_server_key" +REG_TOKEN="ZMFH02WcdElay5ATmhhQYe1WNTESO9XMXcF0H9Tj" +GITEA_URL="https://git.xiaoxiajianji.com" +RUNNER_LABELS="saas,runtime-builder,host,ubuntu-latest,ubuntu-22.04" + +# 写入密钥 +mkdir -p /root/.ssh +cat > /tmp/new_server_key << 'KEYEOF' +-----BEGIN OPENSSH PRIVATE KEY----- +b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW +QyNTUxOQAAACD6GquAk5vBEfbtaJCTSfnQEhjzC8e5GF60hSbPP0BJbAAAAJiQxGNokMRj +aAAAAAtzc2gtZWQyNTUxOQAAACD6GquAk5vBEfbtaJCTSfnQEhjzC8e5GF60hSbPP0BJbA +AAAED2muzuU4BAiCqbg0ayGxgiDvfS/xI1SFvb32oLzTnn8/oaq4CTm8ER9u1okJNJ+dAS +GPMLx7kYXrSFJs8/QElsAAAAFHJ1bm5lci1hZG1pbkB4aWFveGlhAQ== +-----END OPENSSH PRIVATE KEY----- +KEYEOF +chmod 600 /tmp/new_server_key + +SSH_CMD="ssh -i /tmp/new_server_key -o StrictHostKeyChecking=no -o ConnectTimeout=10 root@$NEW_SERVER" + +echo "=== 步骤1: 停止所有现有Runner服务 ===" +$SSH_CMD "systemctl stop gitea-runner-{1..6}.service 2>/dev/null; systemctl disable gitea-runner-{1..6}.service 2>/dev/null; systemctl stop act-runner*.service 2>/dev/null; systemctl disable act-runner*.service 2>/dev/null; pkill -f act_runner 2>/dev/null; echo '所有Runner进程已停止'" + +echo "=== 步骤2: 备份现有配置 ===" +$SSH_CMD "cp -r /opt/act-runner /opt/act-runner-backup-$(date +%Y%m%d%H%M) && echo '备份完成'" + +echo "=== 步骤3: 下载v0.2.6版本act_runner ===" +$SSH_CMD "cd /opt/act-runner && curl -sL -o act_runner_v0.2.6 https://gitea.com/gitea/act_runner/releases/download/v0.2.6/act_runner-0.2.6-linux-amd64 && chmod +x act_runner_v0.2.6 && ./act_runner_v0.2.6 --version" + +echo "=== 步骤4: 清理旧Runner数据,重新注册6个v0.2.6仓库级Runner ===" +for i in 1 2 3 4 5 6; do + echo "--- 注册 Runner $i ---" + $SSH_CMD " + mkdir -p /opt/act-runner/runner-$i + cd /opt/act-runner/runner-$i + rm -f .runner config.yaml + /opt/act-runner/act_runner_v0.2.6 register \ + --instance $GITEA_URL \ + --token $REG_TOKEN \ + --name xiaoxia-ci-runner-new-$i \ + --labels $RUNNER_LABELS \ + --no-interactive + echo 'Runner $i 注册完成' + " +done + +echo "=== 步骤5: 创建systemd服务(host模式) ===" +for i in 1 2 3 4 5 6; do + $SSH_CMD "cat > /etc/systemd/system/act-runner-$i.service << EOF +[Unit] +Description=Gitea Act Runner $i +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/opt/act-runner/runner-$i +ExecStart=/opt/act-runner/act_runner_v0.2.6 daemon +Restart=always +RestartSec=5 + +[Install] +WantedBy=multi-user.target +EOF +echo "服务 $i 创建完成" +done + +echo "=== 步骤6: 启动所有Runner ===" +$SSH_CMD " + systemctl daemon-reload + for i in 1 2 3 4 5 6; do + systemctl enable act-runner-\$i.service + systemctl start act-runner-\$i.service + echo \"act-runner-\$i 启动: \$(systemctl is-active act-runner-\$i.service)\" + done + sleep 3 + ps aux | grep act_runner_v0.2.6 | grep -v grep | wc -l + echo '个Runner进程运行中' +" + +echo "=== 降级完成 ==="