4.4 KiB
4.4 KiB
Gitea Act Runner 快速设置指南
问题:没有匹配 ubuntu-latest 标签的在线运行器
这个错误表示工作流找不到匹配标签的 Runner。有两种解决方案:
解决方案一:使用 self-hosted 标签(推荐,最简单)
我已经将工作流文件更新为使用 runs-on: self-hosted,这样会匹配任何自托管的 Runner,不需要特定标签。
注册 Runner(使用 self-hosted)
# 1. 下载 Act Runner
cd /tmp
wget https://gitea.com/gitea/act_runner/releases/download/v0.2.6/act_runner-linux-amd64
chmod +x act_runner-linux-amd64
sudo mv act_runner-linux-amd64 /usr/local/bin/act_runner
# 2. 注册 Runner(不指定标签,或使用 self-hosted)
act_runner register \
--instance <your-gitea-url> \
--token <runner-token> \
--name my-runner
# 或者明确指定 self-hosted 标签
act_runner register \
--instance <your-gitea-url> \
--token <runner-token> \
--name my-runner \
--labels self-hosted
获取 Runner Token:
- 进入 Gitea:Site Administration → Actions → Runners
- 点击 New Runner
- 复制显示的 Token
运行 Runner
# 直接运行(测试用)
act_runner daemon
# 或作为系统服务运行(推荐)
sudo tee /etc/systemd/system/gitea-act-runner.service > /dev/null <<EOF
[Unit]
Description=Gitea Act Runner
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt
ExecStart=/usr/local/bin/act_runner daemon
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable gitea-act-runner
sudo systemctl start gitea-act-runner
sudo systemctl status gitea-act-runner
解决方案二:注册带有 ubuntu-latest 标签的 Runner
如果你想使用 ubuntu-latest 标签,注册时需要指定:
act_runner register \
--instance <your-gitea-url> \
--token <runner-token> \
--name my-runner \
--labels ubuntu-latest:docker://node:20-bullseye
验证 Runner 状态
1. 检查 Runner 是否运行
# 检查进程
ps aux | grep act_runner
# 检查服务状态
sudo systemctl status gitea-act-runner
# 查看日志
sudo journalctl -u gitea-act-runner -f
2. 在 Gitea 中查看 Runner
- 进入 Site Administration → Actions → Runners
- 应该能看到你的 Runner 显示为 在线 状态
- 检查 Runner 的标签是否包含
self-hosted或ubuntu-latest
3. 测试工作流
- 在 Gitea 仓库中进入 Actions 标签页
- 选择 Deploy to Server 工作流
- 点击 Run workflow
- 应该不再显示"没有匹配的 Runner"错误
常见问题
Runner 注册失败
错误:连接被拒绝
- 检查 Gitea URL 是否正确
- 确保 Gitea Actions 已启用
- 检查网络连接
错误:Token 无效
- 确保从 Gitea 正确复制了 Token
- Token 有时效性,如果过期需要重新生成
Runner 显示离线
-
检查 Runner 进程:
ps aux | grep act_runner -
重启 Runner:
sudo systemctl restart gitea-act-runner -
查看日志:
sudo journalctl -u gitea-act-runner -n 50
工作流仍然找不到 Runner
-
检查标签匹配:
- 工作流使用
runs-on: self-hosted - Runner 必须注册时包含
self-hosted标签,或者不指定标签(默认匹配)
- 工作流使用
-
重新注册 Runner:
# 停止 Runner sudo systemctl stop gitea-act-runner # 删除旧配置(通常在 ~/.config/act_runner/) rm -rf ~/.config/act_runner # 重新注册 act_runner register --instance <url> --token <token> --name my-runner --labels self-hosted # 启动 Runner sudo systemctl start gitea-act-runner
快速检查清单
- Act Runner 已下载并安装
- Runner 已成功注册
- Runner 正在运行(
ps aux | grep act_runner) - 在 Gitea 中能看到 Runner 显示为在线
- Runner 标签包含
self-hosted(或不指定标签) - 工作流文件使用
runs-on: self-hosted - Gitea Secrets 已配置(SERVER_HOST, SERVER_USERNAME, SERVER_SSH_KEY)
下一步
完成 Runner 设置后:
- 推送代码触发工作流,或
- 在 Gitea Actions 页面手动触发工作流
- 查看工作流执行日志
如果还有问题,查看 Gitea 和 Runner 的日志获取详细错误信息。