GitHub Actions 指南
GitHub Actions使你可以直接在你的GitHub库中创建自定义的工作流,工作流指的就是自动化的流程,比如构建、测试、打包、发布、部署等等,也就是说你可以直接进行 CI(持续集成)和 CD(持续部署)。
基本概念
(1)workflow: 一个 workflow 工作流就是一个完整的过程,每个workflow 包含一组 jobs任务。
(2)job : jobs任务包含一个或多个job ,每个 job包含一系列的 steps 步骤。
(3)step : 每个 step 步骤可以执行指令或者使用一个 action 动作。
(4)action : 每个 action 动作就是一个通用的基本单元。
配置 workflow
workflow必须存储在你的项目库根路径下的 .github/workflows 目录中,每一个 workflow对应一个具体的.yml 文件(或者 .yaml)。
workflow 示例:
name:GreetEveryone
# This workflow is triggered on pushes to the repository.
on: [push]
jobs:
your_job_id:
# Job name is Greeting
name: Greeting
# This job runs on Linux
runs-on: ubuntu-latest
steps:
# This step uses GitHub's hello-world-javascript-action: https://github.com/actions/hello-world-javascript-action
- name: Hello world
uses: actions/hello-world-javascript-action@v1
with:
who-to-greet: 'Mona the Octocat'
id: hello
# This step prints an output (time) from the previous step's action.
- name: Echo the greeting's time
run: echo 'The time was ${
{
steps.hello.outputs.time }}.
说明:
(1)最外层的 name 指定了 workflow的名称。
(2)on 声明了一旦发生了 push 操作就会触发这个 workflow。
(3)jobs定义了任务集,其中可以有一个或多个job 任务,示例中只有一个。
(4)runs-on 声明了运行的环境。
(5)steps定义需要执行哪些步骤。
(6)每个 step可以定义自己的 name和id,通过 uses 可以声明使用一个具体的 action,通过run 声明需要执行哪些指令。
(7)${
{}}可以使用上下文参数。
上述示例可以抽象为:
name: <workflow name>
on: <events that trigger workflows>
jobs:
<job_id>:
name: <job_name>
runs-on: <runner>
steps:
- name: <step_name>
uses: <action>
with:
<parameter_name>: <parameter_value>
id: <step_id>
- name: <step_name>
run: <commands>
on
on声明了何时触发 workflow ,它可以是:
(1)一个或多个GitHub 事件,比如 ush 了一个 commit、创建了一个issue、产生了一次pull`` request 等等,示例:
on:[push,pull_request]
(2)预定的时间,示例(每天零点零分触发):
on:
schedule:
-cron:'00 ***'
(3)某个外部事件。所谓外部事件触发,简而言之就是你可以通过REST API向 GitHub

最低0.47元/天 解锁文章
571

被折叠的 条评论
为什么被折叠?



