01 启用Action&语法
启用Action
Github-Actions的启动依赖于本仓库下的特定文件:.github/workflows/xxx.yml
语法:GitHub Actions 的工作流语法 - GitHub 文档。
1. easy-example
name: 打包C++项目 |
2. 关键字
name
name
字段是 workflow 的名称。如果省略该字段,默认为当前 workflow 的文件名。
name可以给不同的字段添加,以指明该任务的名字。
name: GitHub Actions Demo |
on
简单触发/数组触发
on
字段指定触发 workflow 的条件,通常是某些事件。
on: push |
限定触发
指定触发事件时,可以限定分支或标签。
on: |
上面代码指定,只有master
分支发生push
事件时,才会触发 workflow。
jobs
workflow 文件的主体是jobs
字段,表示要执行的一项或多项任务。
jobs
字段里面,需要写出每一项任务的job_id
,具体名称自定义。job_id
里面的name
字段是任务的说明。
jobs: |
上面代码的jobs
字段包含两项任务,job_id
分别是my_first_job
和my_second_job
。
needs
needs
字段指定当前任务的依赖关系,即运行顺序。
jobs: |
上面代码中,job1
必须先于job2
完成,而job3
等待job1
和job2
的完成才能运行。因此,这个 workflow 的运行顺序依次为:job1
、job2
、job3
。
runs-on
runs-on
字段指定运行所需要的虚拟机环境。它是必填字段。目前可用的虚拟机如下。
-
ubuntu-latest
,ubuntu-18.04
或ubuntu-16.04
-
windows-latest
,windows-2019
或windows-2016
-
macOS-latest
或macOS-10.14
下面代码指定虚拟机环境为ubuntu-18.04
。
runs-on: ubuntu-18.04 |
steps
steps
字段指定每个 Job 的运行步骤,可以包含一个或多个步骤。每个步骤都可以指定以下三个字段。
jobs.<job_id>.steps.name
:步骤名称。
jobs.<job_id>.steps.run
:该步骤运行的命令或者 action。
jobs.<job_id>.steps.env
:该步骤所需的环境变量。
uses
见Action市场。