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市场。