diff --git a/.gitea/workflows/temp-expand-final.yml b/.gitea/workflows/temp-expand-final.yml new file mode 100644 index 000000000..5bd57163d --- /dev/null +++ b/.gitea/workflows/temp-expand-final.yml @@ -0,0 +1,166 @@ +name: Runner Expand Final +on: push + +jobs: + expand: + runs-on: host + steps: + - name: Create 2 more runner instances + run: | + set -e + + RUNNER_BIN=/var/lib/xiaoxia-ci/act_runner + REG_TOKEN="0fc83bfbc3f420d2fe67d411ceddb0a2c143a4b4" + GITEA_ADDR="https://git.xiaoxiajianji.com/" + + echo "========== 当前runner数量 ==========" + ps aux | grep "act_runner daemon" | grep -v grep | wc -l + echo "个runner进程" + + echo "" + echo "========== 创建 runner-2 ==========" + mkdir -p /var/lib/xiaoxia-ci-runner-2 + cp $RUNNER_BIN /var/lib/xiaoxia-ci-runner-2/act_runner + chmod +x /var/lib/xiaoxia-ci-runner-2/act_runner + + # 写配置文件 + cat > /var/lib/xiaoxia-ci-runner-2/.runner-config.yaml << 'CFG' +log: + level: info + +runner: + file: .runner + capacity: 1 + timeout: 3h + insecure: false + fetch_timeout: 5s + fetch_interval: 2s + labels: + - runtime-builder + - ubuntu-latest + - host + +cache: + enabled: true + dir: /var/lib/xiaoxia-ci-runner-2/cache + +host: + workdir_parent: /var/lib/xiaoxia-ci-runner-2/workspace + +container: + network: host +CFG + + # 注册runner-2 + cd /var/lib/xiaoxia-ci-runner-2 + ./act_runner register \ + --instance "$GITEA_ADDR" \ + --token "$REG_TOKEN" \ + --name "xiaoxia-ci-runner-2" \ + --labels "runtime-builder:host,ubuntu-latest:host,host:host" \ + --no-interactive 2>&1 + + echo "runner-2 注册完成" + + echo "" + echo "========== 创建 runner-3 ==========" + mkdir -p /var/lib/xiaoxia-ci-runner-3 + cp $RUNNER_BIN /var/lib/xiaoxia-ci-runner-3/act_runner + chmod +x /var/lib/xiaoxia-ci-runner-3/act_runner + + cat > /var/lib/xiaoxia-ci-runner-3/.runner-config.yaml << 'CFG' +log: + level: info + +runner: + file: .runner + capacity: 1 + timeout: 3h + insecure: false + fetch_timeout: 5s + fetch_interval: 2s + labels: + - runtime-builder + - ubuntu-latest + - host + +cache: + enabled: true + dir: /var/lib/xiaoxia-ci-runner-3/cache + +host: + workdir_parent: /var/lib/xiaoxia-ci-runner-3/workspace + +container: + network: host +CFG + + cd /var/lib/xiaoxia-ci-runner-3 + ./act_runner register \ + --instance "$GITEA_ADDR" \ + --token "$REG_TOKEN" \ + --name "xiaoxia-ci-runner-3" \ + --labels "runtime-builder:host,ubuntu-latest:host,host:host" \ + --no-interactive 2>&1 + + echo "runner-3 注册完成" + + echo "" + echo "========== 创建 systemd 服务 ==========" + cat > /etc/systemd/system/act_runner-2.service << 'SVC' +[Unit] +Description=Gitea Actions Runner 2 +After=gitea.service network.target + +[Service] +Type=simple +WorkingDirectory=/var/lib/xiaoxia-ci-runner-2 +ExecStart=/var/lib/xiaoxia-ci-runner-2/act_runner daemon --config .runner-config.yaml +Restart=always +RestartSec=5s +User=root + +[Install] +WantedBy=multi-user.target +SVC + + cat > /etc/systemd/system/act_runner-3.service << 'SVC' +[Unit] +Description=Gitea Actions Runner 3 +After=gitea.service network.target + +[Service] +Type=simple +WorkingDirectory=/var/lib/xiaoxia-ci-runner-3 +ExecStart=/var/lib/xiaoxia-ci-runner-3/act_runner daemon --config .runner-config.yaml +Restart=always +RestartSec=5s +User=root + +[Install] +WantedBy=multi-user.target +SVC + + echo "服务文件创建完成" + + echo "" + echo "========== 启动新 runner ==========" + systemctl daemon-reload + systemctl enable act_runner-2.service act_runner-3.service 2>&1 + systemctl start act_runner-2.service + systemctl start act_runner-3.service + + sleep 5 + + echo "" + echo "========== 验证结果 ==========" + echo "--- 进程数 ---" + ps aux | grep "act_runner daemon" | grep -v grep + echo "" + echo "--- 服务状态 ---" + systemctl is-active act_runner-2.service act_runner-3.service 2>&1 + echo "" + echo "--- 注册文件 ---" + ls -la /var/lib/xiaoxia-ci-runner-2/.runner /var/lib/xiaoxia-ci-runner-3/.runner 2>&1 + echo "" + echo "扩容完成!"