工作流、管道和动作

GitHub 中的工作流是一个可配置的自动化过程,包含不同的作业。它可以在一个 YAML 文件中进行配置,并存储在仓库的 .github/workflows 目录中。工作流可用于构建和部署软件到不同的环境或阶段,在其他 CI/CD 系统中,工作流通常被称为管道。

作业是工作流中的一部分,它在一个配置好的运行器上执行。运行器环境通过 runs-on 属性进行配置。作业默认并行执行。通过使用依赖关系(使用 needs 关键字)将它们链接起来,可以使作业按顺序执行。作业可以在特定的环境中运行。环境是资源的逻辑分组。环境可以在多个工作流中共享,并且可以通过保护规则进行保护。

作业由一系列任务(称为步骤)组成。一个步骤可以运行命令、脚本或 GitHub Action。Action 是工作流中可重用的一部分。并不是所有的步骤都是 Actions,但所有 Actions 都是在作业内部作为步骤执行的。

以下表格展示了理解工作流时最重要的术语:

image 2024 12 27 11 36 33 490
Figure 1. 表 6.1 – GitHub Actions 中的重要术语