

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 工作流概念
<a name="workflows-concepts"></a>

以下是使用工作流程构建、测试或部署代码时需要了解的一些概念和术语 CodeCatalyst。

## 工作流
<a name="workflows-concepts-workflows"></a>

*工作流*是一个自动化过程，它描述了如何在持续集成和持续交付（CI/CD）系统中构建、测试和部署代码。工作流定义了在工作流运行期间要执行的一系列步骤，也称为*操作*。工作流还定义了促使工作流启动的事件或*触发器*。要设置工作流程，您可以使用 CodeCatalyst 控制台[的可视化或 YAML 编辑器](https://docs.aws.amazon.com//codecatalyst/latest/userguide/flows.html#workflow.editors)创建*工作流程定义文件*。

**提示**  
要快速了解如何在项目中使用工作流，请[使用蓝图创建项目](https://docs.aws.amazon.com//codecatalyst/latest/userguide/projects-create.html#projects-create-console-template)。每个蓝图都部署了一个可以正常运行的工作流，您可以对工作流进行查看、运行和试验。

## 工作流定义文件
<a name="workflows-concepts-workflows-def"></a>

*工作流定义文件*是描述您的工作流的 YAML 文件。默认情况下，该文件存储在[源存储库](source-repositories.md)根目录下的 `~/.codecatalyst/workflows/` 文件夹中。该文件的扩展名可以为 .yml 或 .yaml，并且扩展名必须小写。

有关工作流定义文件的更多信息，请参阅[工作流 YAML 定义](workflow-reference.md)。

## 操作
<a name="workflows-concepts-actions"></a>

*操作*是工作流的主要构建基块，它定义了工作流运行期间要执行的逻辑工作单元（又称任务）。通常，一个工作流包括多个按顺序运行或并行运行的操作，具体取决于您配置这些操作的方式。

有关操作的更多信息，请参阅[配置工作流操作](workflows-actions.md)。

## 操作组
<a name="workflows-concepts-action-groups"></a>

一个*操作组*包含一个或多个操作。将操作分组为操作组有助于将工作流保持得井井有条，还可以配置不同组之间的依赖关系。

有关操作组的更多信息，请参阅[将操作分组为操作组](workflows-group-actions.md)。

## 构件
<a name="workflows-concepts-artifacts"></a>

*构件*是工作流操作的输出，通常由文件夹或文件存档组成。构件之所以重要，是因为它们让您可以在操作之间共享文件和信息。

有关构件的更多信息，请参阅[在操作之间共享构件和文件](workflows-working-artifacts.md)。

## 计算
<a name="workflows-concepts-compute"></a>

*计算*是指为运行工作流操作而管理和维护的计算引擎（CPU、内存和操作系统）。 CodeCatalyst 

有关计算的更多信息，请参阅[配置计算和运行时映像](workflows-working-compute.md)。

## 环境
<a name="workflows-concepts-environments"></a>

不要将 CodeCatalyst *环境*与[开发环境](https://docs.aws.amazon.com/codecatalyst/latest/userguide/devenvironment.html)混淆，它定义了 CodeCatalyst [工作流程](workflow.md)所连接的目标 AWS 账户 和可选的 Amazon VPC。环境还定义了工作流程访问目标账户中的 AWS 服务和资源所需的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

您可以设置多个环境并为它们指定名称，例如开发、测试、暂存和生产。在这些环境中部署时，有关部署的信息会显示在环境中的 CodeCatalyst **部署活动**和**部署目标**选项卡上。

有关环境的更多信息，请参阅[部署到 AWS 账户 和 VPCs](deploy-environments.md)。

## 阶段门
<a name="workflows-concepts-gates"></a>

*阶段门*是一个工作流组件，您可以用它来要求工作流必须满足特定条件才能继续运行。门禁的一个例子是**批准**门，在该门禁中，用户必须在 CodeCatalyst控制台中提交批准，然后才能允许工作流程继续运行。

您可以在工作流中的操作序列之间或在第一个操作（**源**下载后立即运行）之前添加阶段门。如果需要的话，您也可以在最后一个操作之后添加阶段门。

有关阶段门的更多信息，请参阅[用阶段门控制工作流运行](workflows-gates.md)。

## Reports
<a name="workflows-concepts-test-reports"></a>

*报告*包含有关工作流运行期间所执行测试的详细信息。您可以创建报告，例如测试报告、代码覆盖率报告、软件组成分析报告和静态分析报告。您可以使用测试报告帮助解决在工作流运行期间发生的问题。如果您有来自多个工作流的许多报告，则可以使用报告来查看趋势和故障率，以帮助您优化应用程序和部署配置。

有关报告的更多信息，请参阅[质量报告类型](test-workflow-actions.md#test-reporting)。

## 运行
<a name="workflows-concepts-runs"></a>

*运行*是一个工作流的单次迭代。在运行期间， CodeCatalyst执行工作流配置文件中定义的操作并输出关联的日志、构件和变量。

有关运行的更多信息，请参阅[运行工作流](workflows-working-runs.md)。

## 来源
<a name="workflows-concepts-sources"></a>

*源*也称为*输入源*，是一个源存储库，[工作流操作](workflows-actions.md)连接到该存储库以获取执行操作所需的文件。例如，工作流操作可能连接到源存储库来获取应用程序源文件，以便构建应用程序。

有关来源的更多信息，请参阅[将源存储库连接到工作流](workflows-sources.md)。

## 变量
<a name="workflows-concepts-variables"></a>

 *变量*是一个键值对，其中包含您可以在 Ama CodeCatalyst zon 工作流程中引用的信息。工作流运行时，变量的值部分将替换为实际值。

有关变量的更多信息，请参阅[在工作流中使用变量](workflows-working-with-variables.md)。

## 工作流触发器
<a name="workflows-concepts-triggers"></a>

*工作流触发器*简称*触发器*，使您可以在发生某些事件（例如代码推送）时自动启动工作流运行。您可能需要配置触发器，使软件开发人员不必通过 CodeCatalyst 控制台手动启动工作流程。

您可以使用三种类型的触发器：
+ **推送** – 每当推送提交时，代码推送触发器都会启动工作流运行。
+ **拉取请求** – 每当创建、修改或关闭拉取请求时，拉取请求触发器都会启动工作流运行。
+ **计划** – 计划触发器使工作流运行按您定义的计划启动。您可以考虑使用计划触发器在夜间运行软件的版本，这样在第二天早上可以准备好最新的版本供开发人员处理。

您可以单独使用推送、拉取请求和计划触发器，也可以在同一个工作流中组合使用这些触发器。

触发器是可选的，如果您未配置任何触发器，则只能手动启动工作流。

有关触发器的更多信息，请参阅[使用触发器自动启动工作流运行](workflows-add-trigger.md)。