風舞/木shiyo
489 字
2 分钟
- 次阅读
- 人阅读
Forgejo Runner部署教程
Forgejo Runner是为Forgejo平台提供持续集成/持续部署(CI/CD)能力的自动化组件,接下来介绍如何使用二进制文件部署。
前提
服务器需要提前安装Docker。
有问题可以前往Forgejo官方文档查询。
下载并安装二进制文件
网络状况不好可以设置代理加速下载。
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-runnerwget -O forgejo-runner.asc ${FORGEJO_URL}.ascgpg --keyserver hkps://keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710gpg --verify forgejo-runner.asc forgejo-runner && echo "✓ Verified" || echo "✗ Failed"移动到/usr/local/bin后可以执行forgejo-runner命令:
cp forgejo-runner /usr/local/bin/forgejo-runner# 可查看版本forgejo-runner -v创建用户
创建runner用户并设置为docker用户组,可以执行docker命令。
useradd --create-home runnerusermod -aG docker runner基础配置
使用runner用户进行基础配置:
su runnercd ~# 此时应该在/home/runner文件夹里$ 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 token6om01axzegBu98YCpsFtda4Go2DuJe7BEepzz2F3HYINFO Enter the runner name (if set empty, use hostname: runner-host):# 自定义名字my-forgejo-runnerINFO 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 serverINFO Runner registered successfully.获取默认配置,可以进行修改:
forgejo-runner generate-config > config.yml设置进程
nano /etc/systemd/system/forgejo-runner.service使用自定义配置:
[Unit]Description=Forgejo RunnerDocumentation=<https://forgejo.org/docs/latest/admin/actions/>After=docker.service
[Service]ExecStart=/usr/local/bin/forgejo-runner daemon --config /home/runner/config.ymlExecReload=/bin/kill -s HUP $MAINPID
User=runnerWorkingDirectory=/home/runnerRestart=on-failureTimeoutSec=0RestartSec=10
[Install]WantedBy=multi-user.target启动和设置开机自启
systemctl daemon-reloadsystemctl start forgejo-runner.servicesystemctl 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/