Github Actions是干什么用的,一文带你了解

1. Github Actions

Github Actions是干什么用的,一文带你了解

Github Actions 是GitHub的持续集成服务。持续集成由很多操作组成,比如登录远程服务器,发布内容到第三方服务等等,GitHub把这些操作称为actions。

GitHub还有actions的官方市场

Github Actions是干什么用的,一文带你了解

每个action就是一个独立脚本。引用一个action,可以直接actions/repoName,比如:

actions/setup-node

这引用github.com/actions/setup-node仓库,作用是安装 Node.js。

GitHub Actions包含几大要素:

(1)workflow:工作流程,持续集成一次运行的过程。
(2)job:任务,一个workflow由一个或多个jobs构成,含义是一次持续集成的运行,可以完成多个任务。
(3)step:步骤,每个job由多个step构成,一步步完成。
(4)action:动作,每个step可以依次执行一个或多个命令。

2. workflow 文件

GitHub Actions的配置文件叫做 workflow 文件,存放在代码仓库的.github/workflows 目录。

workflow文件采用 YAML 格式,文件后缀.yml,一个仓库可以有多个workflow文件,GitHub Actions会自动运行这些文件。

(1)name

name字段是workflow的名称。

name: Actions Demo

(2)on

on 字段指定触发workflow的条件,通常是某些事件。

on: push

上面代码指定push事件触发workflow。

(3)jobs
jobs字段需要写出每一项任务的job_id,可指定任务间的依赖关系。

jobs:
	job1:
	job2:
		needs: job1
	job3:
		needs: [job1, job2]

上面代码指明,job1先于job2完成,job3等待job1和job2的完成才执行。

(4)runs-on

runs-on 字段指定运行需要的虚拟机环境,必填。

目前可用的虚拟机:

ubuntu-latest, ubuntu-18.04或ubuntu-16.04
windows-latest, windows-2019或windows-2016
macOS-latest或macOS-10.14

3. 示例

(1)创建一个GitHub 仓库
(2)在.github/workflows/目录下创建testActions.yml

name: Test run v1

on:
  workflow_dispatch:

jobs:
  test:
    runs-on: ubuntu-18.04
    steps:
      - name: Show environment v1
        run: env | grep ^GITHUB
      - name: Show ref v1
        run: echo "---> Version from $Github_REF"

(3)运行workflows

在仓库的Actions中找到 run workflows按钮。

Github Actions是干什么用的,一文带你了解
(4)查看运行结果
Github Actions是干什么用的,一文带你了解


参考:

  1. 阮一峰 GitHub Actions 入门教程;
  2. Github testWorkflow
上一篇:化工行业Sage x3浓度管理


下一篇:MySQL中concat函数