通过actions在github上自动化CI/CD
actions的配置在.github/workflows/*.yml
tips
配置文件可以通过vscode插件Github Action自动提示语法
搜索: spublisher:"Mathieu Dutour"
语法参考
-
在github上可以通过Actions选项卡,快速通过魔板创建actions,不过你需要一点相关语法.
-
通过一个官网的示例(参考: understanding-github-actions),来快速认识
name: learn-github-actions
on: [push]
jobs:
check-bats-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: '14'
- run: npm install -g bats
- run: bats -v
- shell: bash
run: echo hello
语法解释
- on, 配置事件的触发
- jobs, 配置构建任务,可以包含多个job
- check-bats-version, 自定义的job名字,
- runs-on: 运行环境,一般为ubuntu-latest, 由github提供(参考: Runner-Host)
- steps: job的步骤,包含多个
- uses: github预定义好的actions操作.指定action仓库地址(例如: actions/checkout@v2)
- (参考: github内置的actions)
- (参考: 创建自定义的actions)
- ps. 当然你可以通过run执行自定义脚本.
- run: 运行shell命令 (参考: syntax for github-actions)中using-a-specific-shell一栏
自定义Actions示例
- fork github action示例
- [在workflows中使用]
#替换示例:
- uses: axinyue/hello-world-docker-action@main
# 需要注意: @ref不能省略的,可以使用分支名,tag
参考
错误提示
- workflows中, uses标签中的用户/仓库名@分支 格式不正确,检查仓库地址,或者镜像名是否正确.
Error : .github#L1
the `uses' attribute must be a path, a Docker image, or owner/repo@ref