7 工作流文件结构之工作流的组成部分

在上一篇文章中,我们创建了我们的第一个工作流,了解了基本的工作流概念及如何进行简单的测试工作流。本篇将深入探讨工作流文件的基本结构,特别是工作流的组成部分,帮助我们更好地理解如何创建和配置有效的 GitHub Actions 工作流。

工作流的基本组成部分

GitHub Actions 的工作流主要由以下几个组成部分构成:

  1. 名称 (name)
  2. 触发器 (on)
  3. 工作 (jobs)
  4. 环境变量 (env)
  5. 策略 (defaults)

1. 名称 (name)

工作流的名称是可选的,它可以帮助你识别不同的工作流。你可以为工作流命名,使其更具可读性。

1
name: CI Workflow

2. 触发器 (on)

on 字段指定了工作流的触发条件,比如代码推送、拉取请求等。你可以使用多种事件来触发工作流。以下是一个简单的例子:

1
2
3
4
on:
push:
branches:
- main

这个例子表示当 main 分支有代码推送时,将会触发此工作流。

3. 工作 (jobs)

jobs 是工作流的核心部分,定义了一组操作,通常会在一个或多个虚拟环境中执行。每个 job 都包含一个或多个步骤 (steps)。我们将在下一篇中详细讨论步骤的定义。

以下是一个定义 jobs 的示例:

1
2
3
4
5
6
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

在这个示例中,定义了一个名为 build 的作业,指定它在 ubuntu-latest 环境中运行,并包括了一个步骤来检出代码。

4. 环境变量 (env)

能够在工作流中设置环境变量,以便许多步骤可以共享相同的变量。这有助于简化配置以及提高工作流的灵活性。以下是如何设置环境变量的示例:

1
2
env:
NODE_ENV: production

任何步骤都可以使用 ${{ env.NODE_ENV }} 访问这个环境变量。

5. 策略 (defaults)

defaults 字段允许你为工作流中的所有作业设置通用配置,例如设置默认的运行环境或者输出目录。例如:

1
2
defaults:
runs-on: ubuntu-latest

这将指定所有作业在 ubuntu-latest 上运行,无需在每个作业中重复设置。

示例工作流文件

综合以上所有元素,以下是一个完整的示例工作流文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
name: CI Workflow

on:
push:
branches:
- main

env:
NODE_ENV: production

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2

- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '14'

- name: Install dependencies
run: npm install

- name: Run tests
run: npm test

这个工作流定义了一个 CI 流程,在每次 main 分支推送时会执行构建、安装依赖和运行测试的步骤。

结语

在本篇中,我们详细讲解了 GitHub Actions 工作流文件的基本结构和组成部分。这些组成部分为我们创建有效的自动化流程奠定了基础。接下来,欢迎阅读我们下一篇文章关于“工作流文件结构之步骤的定义”的内容,我们将更深入地探讨如何定义和组织这些步骤,以构建强大的 CI/CD 流程。

7 工作流文件结构之工作流的组成部分

https://zglg.work/github-actions-zero/7/

作者

AI免费学习网(郭震)

发布于

2024-08-15

更新于

2024-08-16

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论