大家知道,持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。GitHub 把这些操作就称为 actions。
很多操作在不同项目里面是类似的,完全可以共享。GitHub 注意到了这一点,想出了一个很妙的点子,允许开发者把每个操作写成独立的脚本文件,存放到代码仓库,使得其他开发者可以引用。
如果你需要某个 action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。这就是 GitHub Actions 最特别的地方。
GitHub 做了一个官方市场,可以搜索到他人提交的 actions。另外,还有一个 awesome actions 的仓库,也可以找到不少 action。
GitHub Actions 有一些自己的术语。
GitHub Actions 的配置文件叫做 workflow 文件,存放在代码仓库的 .github/workflows
目录。
workflow 文件采用 YAML 格式,文件名可以任意取,但是后缀名统一为 .yml
,比如 foo.yml
。一个库可以有多个 workflow 文件。GitHub 只要发现 .github/workflows
目录里面有 .yml
文件,就会自动运行该文件。
workflow 文件的配置字段非常多,详见 官方文档。下面是一些基本字段。
参考资料: