简介
GitHub提供了Actions功能,以实现CI/CD。
- 官方文档
- Actions是类似Jenkins的流水线,用YAML的语法描述,保存为 .github/workflows/xx.yml 文件。
Actions默认运行在GitHub提供的运行环境中(包括Linux、Windows、MacOS),用户也可以添加自己的运行环境,称为Runner。
-
作为Runner的主机要保持运行一个进程(目前是运行run.sh),连接到GitHub仓库,接受控制。
-
在流水线文件中用
self-hosted
标签即可使用自己的Runner,如下:runs-on: [self-hosted, linux]
-
使用自己的Runner构建项目时,要小心仓库中有恶意代码被执行。
添加Runner
- 打开GitHub仓库的Settings->Actions页面,如下:
- 点击"Add runner",会显示一个提示框,如下。在自己的虚机上执行提示的命令即可添加Runner,然后GitHub页面上会立即显示出已连接的Runner。
执行config.sh和run.sh时可能报错:
此时要么换个非root的普通用户,要么把config.sh和run.sh开头部分的检查语句注释掉,如下:Must not run with sudo
#if [ $user_id -eq 0 -a -z "$AGENT_ALLOW_RUNASROOT" ]; then # echo "Must not run with sudo" # exit 1 #fi
补充:用了没几天,Runner自动更新了,又要求非root用户启动。
还是老老实实创建个非root用户吧:
useradd github
su - github