7 工作流文件结构之工作流的组成部分
在上一篇文章中,我们创建了我们的第一个工作流,了解了基本的工作流概念及如何进行简单的测试工作流。本篇将深入探讨工作流文件的基本结构,特别是工作流的组成部分,帮助我们更好地理解如何创建和配置有效的 GitHub Actions 工作流。
工作流的基本组成部分
GitHub Actions 的工作流主要由以下几个组成部分构成:
- 名称 (
name
) - 触发器 (
on
) - 工作 (
jobs
) - 环境变量 (
env
) - 策略 (
defaults
)
1. 名称 (name
)
工作流的名称是可选的,它可以帮助你识别不同的工作流。你可以为工作流命名,使其更具可读性。
1 | name: CI Workflow |
2. 触发器 (on
)
on
字段指定了工作流的触发条件,比如代码推送、拉取请求等。你可以使用多种事件来触发工作流。以下是一个简单的例子:
1 | on: |
这个例子表示当 main
分支有代码推送时,将会触发此工作流。
3. 工作 (jobs
)
jobs
是工作流的核心部分,定义了一组操作,通常会在一个或多个虚拟环境中执行。每个 job
都包含一个或多个步骤 (steps
)。我们将在下一篇中详细讨论步骤的定义。
以下是一个定义 jobs
的示例:
1 | jobs: |
在这个示例中,定义了一个名为 build
的作业,指定它在 ubuntu-latest
环境中运行,并包括了一个步骤来检出代码。
4. 环境变量 (env
)
能够在工作流中设置环境变量,以便许多步骤可以共享相同的变量。这有助于简化配置以及提高工作流的灵活性。以下是如何设置环境变量的示例:
1 | env: |
任何步骤都可以使用 ${{ env.NODE_ENV }}
访问这个环境变量。
5. 策略 (defaults
)
defaults
字段允许你为工作流中的所有作业设置通用配置,例如设置默认的运行环境或者输出目录。例如:
1 | defaults: |
这将指定所有作业在 ubuntu-latest
上运行,无需在每个作业中重复设置。
示例工作流文件
综合以上所有元素,以下是一个完整的示例工作流文件:
1 | name: CI Workflow |
这个工作流定义了一个 CI 流程,在每次 main
分支推送时会执行构建、安装依赖和运行测试的步骤。
结语
在本篇中,我们详细讲解了 GitHub Actions 工作流文件的基本结构和组成部分。这些组成部分为我们创建有效的自动化流程奠定了基础。接下来,欢迎阅读我们下一篇文章关于“工作流文件结构之步骤的定义”的内容,我们将更深入地探讨如何定义和组织这些步骤,以构建强大的 CI/CD 流程。
7 工作流文件结构之工作流的组成部分