共计 1388 个字符,预计需要花费 4 分钟才能阅读完成。
源代码:
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
workflow
工作流程是您增加到仓库的自动化过程。
工作流程由一项或多项 jobs 组成,能够打算或由事件触发。
工作流程可用于在 GitHub 上构建、测试、打包、公布或部署我的项目。
本文例子里,咱们创立了一个名称叫做 learn-github-actions 的 工作流。
event
事件是触发工作流程的特定流动。例如,当有推送提交到仓库或者创立议题或拉取申请时,GitHub 就可能产生流动。您还能够应用仓库散发 web 挂钩在产生内部事件时触发工作流程。无关可用于触发工作流程的事件的残缺列表,请参阅触发工作流程的事件。
本文例子,on: [push], 意思是有代码 push 到 Github 仓库时,触发该工作流。
Jobs
作业是在同一运行服务器上执行的一组步骤的汇合。默认状况下,蕴含多个作业的工作流程将同时运行这些作业。您也能够配置工作流程按程序运行作业。例如,工作流程能够有两个间断的工作来构建和测试代码,其中测试作业取决于构建作业的状态。如果构建作业失败,测试作业将不会运行。
本文例子,定义了一个叫做 check-bats-version 的作业。
steps
步骤是能够在作业中运行命令的单个工作。步骤能够是操作或 shell 命令。作业中的每个步骤在同一运行器上执行,可让该作业中的操作相互共享数据。
一个作业能够蕴含多个步骤。
action 操作
操作是独立命令,它们组合到步骤以创立作业。操作是工作流程最小的便携式构建块。您能够创立本人的操作,也能够应用 GitHub 社区创立的操作。要在工作流程中应用操作,必须将其作为一个步骤,即放到一个 step 中去。
本文例子内蕴含的 actin 见下图高亮:
runner
运行器是装置了 GitHub Actions 运行器应用程序的服务器。您能够应用 GitHub 托管的运行器或托管您本人的运行器。运行器将侦听可用的作业,每次运行一个作业,并将进度、日志和后果报告回 GitHub。GitHub 托管的运行器基于 Ubuntu Linux、Microsoft Windows 和 macOS,并且工作流程中的每个作业都在新的虚构环境中运行。
本文例子的工作流,通过 yml 文件里的定义:
runs-on: ubuntu-latest
工作于 Github 托管的 Ubuntu 服务器上。
代码第 7 行:
- uses: actions/checkout@v2
uses 关键字批示作业检索名为 actions/checkout@v2 的社区操作的 v2。
这是检出仓库并将其下载到运行器的操作,容许针对您的代码运行操作(例如测试工具)。只有工作流程针对仓库的代码运行,或者您应用仓库中定义的操作,您都必须应用检出操作。
- uses: actions/setup-node@v2
with:
node-version: '14'
装置 Node.js 运行环境到托管服务器上,版本为 14
这个工作流逻辑的可视化版本如下:
更多 Jerry 的原创文章,尽在:” 汪子熙 ”: