489 字
2 分钟
- 次阅读
- 人阅读

Forgejo Runner部署教程

Forgejo Runner是为Forgejo平台提供持续集成/持续部署(CI/CD)能力的自动化组件,接下来介绍如何使用二进制文件部署。

前提#

服务器需要提前安装Docker。

有问题可以前往Forgejo官方文档查询。

下载并安装二进制文件#

网络状况不好可以设置代理加速下载。

Terminal window
export ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')
export RUNNER_VERSION=$(curl -X 'GET' https://data.forgejo.org/api/v1/repos/forgejo/runner/releases/latest | jq .name -r | cut -c 2-)
export FORGEJO_URL="https://code.forgejo.org/forgejo/runner/releases/download/v${RUNNER_VERSION}/forgejo-runner-${RUNNER_VERSION}-linux-${ARCH}"
wget -O forgejo-runner ${FORGEJO_URL}
chmod +x forgejo-runner
wget -O forgejo-runner.asc ${FORGEJO_URL}.asc
gpg --keyserver hkps://keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
gpg --verify forgejo-runner.asc forgejo-runner && echo "✓ Verified" || echo "✗ Failed"

移动到/usr/local/bin后可以执行forgejo-runner命令:

Terminal window
cp forgejo-runner /usr/local/bin/forgejo-runner
# 可查看版本
forgejo-runner -v

创建用户#

创建runner用户并设置为docker用户组,可以执行docker命令。

Terminal window
useradd --create-home runner
usermod -aG docker runner

基础配置#

使用runner用户进行基础配置:

Terminal window
su runner
cd ~
# 此时应该在/home/runner文件夹里
Terminal window
$ forgejo-runner register
# 以下是根据提示操作
INFO Registering runner, arch=arm64, os=linux, version=v9.0.3.
WARN Runner in user-mode.
INFO Enter the Forgejo instance URL (for example, https://next.forgejo.org/):
# 输入forgejo的地址,内网就写内网地址,例如:http://192.168.1.100:3000/
https://code.forgejo.org/
INFO Enter the runner token:
# forgejo获取的action token
6om01axzegBu98YCpsFtda4Go2DuJe7BEepzz2F3HY
INFO Enter the runner name (if set empty, use hostname: runner-host):
# 自定义名字
my-forgejo-runner
INFO Enter the runner labels, leave blank to use the default labels (comma-separated, for example, ubuntu-20.04:docker://node:20-bookworm,ubuntu-18.04:docker://node:20-bookworm):
# 运行容器,后续可改写
INFO Registering runner, name=my-forgejo-runner, instance=https://code.forgejo.org/, labels=[docker:docker://node:20-bookworm].
DEBU Successfully pinged the Forgejo instance server
INFO Runner registered successfully.

获取默认配置,可以进行修改:

Terminal window
forgejo-runner generate-config > config.yml

设置进程#

Terminal window
nano /etc/systemd/system/forgejo-runner.service

使用自定义配置:

[Unit]
Description=Forgejo Runner
Documentation=<https://forgejo.org/docs/latest/admin/actions/>
After=docker.service
[Service]
ExecStart=/usr/local/bin/forgejo-runner daemon --config /home/runner/config.yml
ExecReload=/bin/kill -s HUP $MAINPID
User=runner
WorkingDirectory=/home/runner
Restart=on-failure
TimeoutSec=0
RestartSec=10
[Install]
WantedBy=multi-user.target

启动和设置开机自启#

Terminal window
systemctl daemon-reload
systemctl start forgejo-runner.service
systemctl enable forgejo-runner.service

在Action中使用Docker#

参考:https://forgejo.org/docs/latest/admin/actions/docker-access/

可以使用Docker-in-Docker的方式,还可以使用本机Docker的方式,具体查看文档,然后修改/home/runner/config.yml,应用配置即可。

总结#

Forgejo Runner和Gitea Runner的部署方式类似,Docker部署可以参考Gitea Runner的部署。

分享这篇文章
Forgejo Runner部署教程
Forgejo Runner部署教程
https://blog.endlesssolo.com/posts/b8373d2/
作者
Rightdoor
发布于
2026-01-10
许可协议
CC BY-NC-SA 4.0