feat(gitea): 添加 runner 恢复功能文档和快速恢复命令
This commit is contained in:
@@ -224,6 +224,45 @@ EOF
|
|||||||
# gitea-create-runner all "wibnIxvgeyYj3D7d53VTQvNxv0UVqArBwAtPFBWD"
|
# gitea-create-runner all "wibnIxvgeyYj3D7d53VTQvNxv0UVqArBwAtPFBWD"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## 🔄 恢复离线 Runner
|
||||||
|
|
||||||
|
**场景**:Runner 在 Gitea 服务器上被删除,但本地配置文件仍在。需要重新注册并上线。
|
||||||
|
|
||||||
|
**快速恢复命令**(针对 runner-Mac-mini4-host):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd ~/.config/gitea/runners/runner-Mac-mini4-host
|
||||||
|
|
||||||
|
# 停止旧进程
|
||||||
|
if [ -f pid ]; then kill $(cat pid) 2>/dev/null || true; fi
|
||||||
|
|
||||||
|
# 加载配置并重新注册
|
||||||
|
source ~/.config/gitea/config.env
|
||||||
|
|
||||||
|
# 获取令牌(需要 jq)
|
||||||
|
token=$(curl -s -H "Authorization: token $GITEA_TOKEN" \
|
||||||
|
"${GITEA_URL}/api/v1/admin/runners/registration-token" | jq -r '.token')
|
||||||
|
|
||||||
|
# 生成标签
|
||||||
|
OS=$(uname -s); ARCH=$(uname -m)
|
||||||
|
case "$OS" in Darwin) os="macOS";; Linux) os="ubuntu";; *) os="unknown";; esac
|
||||||
|
case "$ARCH" in arm64|aarch64) arch="ARM64";; x86_64) arch="x64";; *) arch="unknown";; esac
|
||||||
|
labels="self-hosted:host,${os}:host,${arch}:host,$(echo "${OS}-${ARCH}" | tr '[:upper:]' '[:lower:]'):host"
|
||||||
|
|
||||||
|
# 重新注册并启动
|
||||||
|
act_runner register --config config.yaml --instance "$GITEA_URL" \
|
||||||
|
--token "$token" --name "runner-Mac-mini4-host" --labels "$labels" --no-interactive
|
||||||
|
|
||||||
|
nohup act_runner daemon --config config.yaml > runner.log 2>&1 &
|
||||||
|
echo $! > pid
|
||||||
|
echo "✅ Runner 恢复完成 (PID: $(cat pid))"
|
||||||
|
```
|
||||||
|
|
||||||
|
**说明**:
|
||||||
|
- 确保 `config.yaml` 中的 `labels:` 配置为空(`labels: []`),注册时会使用命令行参数
|
||||||
|
- 如果全局令牌权限不足,需要获取组织令牌(参考 runner-management.md)
|
||||||
|
- 恢复后 runner 会获得新的 ID,但名称和 labels 保持不变
|
||||||
|
|
||||||
### 方法三:完整脚本
|
### 方法三:完整脚本
|
||||||
如果你需要更多自定义选项,可以使用下面的完整脚本:
|
如果你需要更多自定义选项,可以使用下面的完整脚本:
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user