Gitea Runner 使用总结
act_runner 在 mac 系统后台运行并开机启动
每次在本机启动 act_runner 比较麻烦,写了一个脚本
1. 下载 act_runner
bash
wget https://gitea.com/gitea/act_runner/releases/download/v0.1.8/act_runner-0.1.8-darwin-arm64 mv act_runner-0.1.8-darwin-arm64 /usr/local/bin/act_runner chmod +x /usr/local/bin/act_runner
2. 创建 plist 文件
在目录 ~/Library/LaunchAgents 创建一个 名字叫 act_runner.plist 的文件,并写入以下代码
ini
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>DOCKER_HOST</key>
<string>unix:///Users/shen/.docker/run/docker.sock</string>
<key>XDG_RUNTIME_DIR</key>
<string>/Users/shen/.docker/run</string>
</dict>
<key>Label</key>
<string>com.gitea.act_runner</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/act_runner</string>
<string>daemon</string>
<string>-c</string>
<string>/Users/shen/Documents/act_runner.yaml</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/tmp/act_runner.out</string>
<key>StandardErrorPath</key>
<string>/tmp/act_runner.err</string>
</dict>
</plist>
请注意,因为 docker 在 mac 系统中可能不是以 root 方式运行,docker.sock 并没有在默认的位置 /var/run/docker.sock ,所以,我们通过环境变量指定了 rootless 模式 下的配置,按照自己的实际情况修改路径即可 或者,你可以在高级设置里面将下图选项打上对钩,上面代码中 EnvironmentVariables 就可以删除了(key 与 dict 部分)
3. 下面是启动、停止命令
bash
# 启动
launchctl load ~/Library/LaunchAgents/act_runner.plist
# 停止
launchctl unload ~/Library/LaunchAgents/act_runner.plist
docker rootless 模式
rootless 模式可以让您的 docker 在非 root 用户下,正常使用 action
编辑 .bashrc
bash
export XDG_RUNTIME_DIR=/Users/shen/.docker/run
export DOCKER_HOST=unix:///Users/shen/.docker/run/docker.sock
ini
# alias act_runner.yaml 里面修改 runner 文件位置
alias runner='act_runner daemon -c /Users/shen/Documents/act_runner.yaml'