Act Runner
Act Runner
使用二进制文件进行安装
下载
从发布页面下载二进制文件
# wget -O act_runner https://gitea.com/gitea/act_runner/releases/download/v0.2.11/act_runner-0.2.11-linux-amd64
version=0.2.11 $(wget -O act_runner https://gitea.com/gitea/act_runner/releases/download/v${version}/act_runner-${version}-linux-amd64)
chmod +x ./act_runner
./act_runner --version
获取注册令牌
- 用户级别:用户设置页面,例如
<your_gitea.com>/user/settings/actions/runners
。
注册令牌的格式是一个随机字符串 D0gvfu2iHfUjNqCYVljVyRV14fISpJxxxxxxxxxx
。
配置
# 生成配置
./act_runner generate-config > config.yaml
# 使用配置
./act_runner --config config.yaml [command]
注册 Runner
./act_runner register --no-interactive --instance <instance_url> --token <registration_token> --name <runner_name> --labels <runner_labels>
注册 Runner 后,您可以在当前目录中找到一个名为 .runner 的新文件。该文件存储注册信息。 请不要手动编辑该文件。 如果此文件丢失或损坏,可以直接删除它并重新注册。
在命令行中运行
./act_runner daemon --config config.yaml
以 Systemd 方式运行
创建用户 act_runner
创建运行目录
mkdir -p /etc/act_runner
mkdir -p /var/lib/act_runner
cp config.yaml /etc/act_runner
cp act_runner /usr/local/bin
cp .runner /var/lib/act_runner
chown -R act_runner:act_runner /etc/act_runner
chown -R act_runner:act_runner /var/lib/act_runner
创建 Systemd 服务文件
[Unit]
Description=Gitea Actions runner
Documentation=https://gitea.com/gitea/act_runner
After=docker.service
[Service]
ExecStart=/usr/local/bin/act_runner daemon --config /etc/act_runner/config.yaml
ExecReload=/bin/kill -s HUP $MAINPID
WorkingDirectory=/var/lib/act_runner
TimeoutSec=0
RestartSec=10
Restart=always
User=act_runner
[Install]
WantedBy=multi-user.target
启动服务
systemctl daemon-reload
systemctl enable act_runner
systemctl start act_runner
高级配置
标签
Runner 的标签用于确定 Runner 可以运行哪些 Job 以及如何运行它们。
默认标签为 ubuntu-latest:docker://node:16-bullseye
, ubuntu-22.04:docker://node:16-bullseye
, ubuntu-20.04:docker://node:16-bullseye
, ubuntu-18.04:docker://node:16-buster
。 它们是逗号分隔的列表,每个项目都是一个标签。
让我们以 ubuntu-22.04:docker://node:16-bullseye
为例。 它意味着 Runner 可以运行带有 runs-on: ubuntu-22.04
的 Job,并且该 Job 将在使用 node:16-bullseye
镜像的 Docker 容器中运行。
如果默认镜像无法满足您的需求,并且您有足够的磁盘空间可以使用更好、更大的镜像,您可以将其更改为 ubuntu-22.04:docker://<您喜欢的镜像>
。 您可以在 act 镜像 上找到更多有用的镜像。
如果您想直接在主机上运行 Job,您可以将其更改为 ubuntu-22.04:host
或仅 ubuntu-22.04
,:host
是可选的。 然而,我们建议您使用类似 linux_amd64:host
或 windows:host
的特殊名称,以避免误用。
从 Gitea 1.21 开始,您可以通过修改 runner 的配置文件中的 runners.labels
来更改标签(如果没有配置文件,请参考 配置教程),通过执行 ./act_runner daemon --config config.yaml
命令重启 runner 之后,这些新定义的标签就会生效。
runners:
labels:
# 运行在 Docker 容器中
- "linux_amd64:docker://gitea/runner-images:linux_amd64"
- "ubuntu-latest:docker://gitea/runner-images:ubuntu-latest"
- "ubuntu-22.04:docker://gitea/runner-images:ubuntu-22.04"
- "ubuntu-20.04:docker://gitea/runner-images:ubuntu-20.04"
- "ubuntu-22.04:docker://node:16-bullseye"
- "ubuntu-22.04:docker://<您喜欢的镜像>""
# 直接在主机上运行 Job
- "linux_amd64:host"
- "ubuntu-latest:host"
- "ubuntu-24.04:host"