Github Action部署应用实践总结
# 一、GitHub Actions介绍
- 持续集成由很多操作组成,比如抓取代码、运行测试、登录远程服务器,发布到第三方服务等等。
GitHub把这些操作就称为actions。 - 如果你需要某个
action,不必自己写复杂的脚本,直接引用他人写好的 action 即可,整个持续集成过程,就变成了一个 actions 的组合。这就是 GitHub Actions 最特别的地方
GitHub 做了一个官方市场,可以搜索到他人提交的 actions。另外,还有一个 awesome actions 的仓库,也可以找到不少
action

- 上面说了,每个
action就是一个独立脚本,因此可以做成代码仓库,使用userName/repoName的语法引用action。比如,actions/setup-node就表示github.com/actions/setup-node这个仓库,它代表一个action,作用是安装 Node.js。事实上,GitHub 官方的actions都放在github.com/actions里面。
既然
actions是代码仓库,当然就有版本的概念,用户可以引用某个具体版本的 action。下面都是合法的 action 引用,用的就是 Git 的指针概念
actions/setup-node@74bc508 # 指向一个 commit
actions/setup-node@v1.0 # 指向一个标签
actions/setup-node@master # 指向一个分支
@前端进阶之旅: 代码已经复制到剪贴板
# 1.1 概念
GitHub Actions 有一些自己的术语。
workflow(工作流程):持续集成一次运行的过程,就是一个workflow。job(任务):一个workflow由一个或多个jobs构成,含义是一次持续集成的运行,可以完成多个任务。step(步骤):每个job由多个step构成,一步步完成。action(动作):每个step可以依次执行一个或多个命令(action)
# 1.2 workflow 文件
GitHub Actions的配置文件叫做workflow文件,存放在代码仓库的.github/workflows目录。
workflow文件采用YAML格式,文件名可以任意取,但是后缀名统一为.yml,比如foo.yml。一个库可以有多个workflow文件。GitHub 只要发现.github/workflows目录里面有.yml文件,就会自动运行该文件。workflow文件的配置字段非常多,详见官方文档。下面是一些基本字段。
1. name
name字段是workflow的名称。如果省略该字段,默认为当前workflow的文件名。