舞台条件是如何运作的? - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

舞台条件是如何运作的?

对于每个指定规则的条件,都会运行该规则。如果条件失败,则使用结果。仅当条件失败时,该阶段才会执行指定的结果。或者,作为规则的一部分,您还可以指定在某些情况下 CodePipeline应使用哪些资源。例如,该CloudWatchAlarm规则将使用 CloudWatch 警报资源对条件进行检查。

一个条件可能匹配多个规则,并且每个规则可以指定三个提供者中的一个。

创建条件的高级流程如下所示。

  1. 从中的可用条件类型中选择条件类型 CodePipeline。例如,使用 On Success 条件类型来设置阶段,以便在阶段成功后,可以使用一组规则在继续之前运行检查。

  2. 选择 规则。例如,该CloudWatchAlarm规则将检查警报,并使用 EB 检查预配置的警报阈值。如果检查成功且警报低于阈值,则阶段可以继续进行。

  3. 配置结果,例如规则失败时将使用的回滚。

您可以配置三种类型的条件,每种条件都有有效的结果选项,如下所示。

  1. 参赛条件的结果选项:失败

  2. 失败时条件的结果选项:回滚

  3. 成功时条件的结果选项要么是回滚,要么是失败

下图显示了中输入条件类型的示例流程 CodePipeline。条件回答了这样一个问题:“如果不满足条件,这意味着任何规则都失败了,会发生什么? 在以下流程中,使用 LambdaInvoke 规则和规则配置了进入条件。CloudWatchAlarm如果规则失败,则使用配置的结果(例如 Fail)。

配置了两条规则(一条规则和 LambdaInvoke 一条 CloudWatchAlarm 规则)的 “条目” 条件类型示例。

下图显示了 On Failure 条件类型的示例流程 CodePipeline。条件回答了这样一个问题:“如果满足条件,这意味着规则都通过检查,会发生什么? 在以下流程中,使用 LambdaInvoke 规则和规则配置 On Failure CloudWatchAlarm 条件。如果规则成功,则会触发配置的结果,例如 Fail。

配置了两条规则(一个 Lambda 规则和一条CloudWatchAlarm规则)的 On Failure 条件类型的示例。

下图显示了 On Success 条件类型的示例流程 CodePipeline。条件回答了这样一个问题:“如果满足条件,这意味着规则都通过检查,会发生什么? 在以下流程中,使用LambdaInvoke规则和规则配置 On Success CloudWatchAlarm 条件。如果规则成功,则会触发配置的结果,例如 Fail。

配置了两条规则(一个 Lambda 规则和一条CloudWatchAlarm规则)的 On Success 条件类型的示例。

舞台条件规则

配置阶段条件时,您可以从预定义的规则中进行选择并指定规则的结果。如果条件中的任何一条规则失败,则条件状态将为 “失败”;如果所有规则都成功,则条件状态将为 “成功”。如何满足 “失败” 和 “成功时” 条件的标准取决于规则的类型。

以下是您可以添加到阶段条件的托管规则。

  • 条件可以使用该Amazon DeploymentWindow规则来指定允许部署的批准部署时间。将使用为部署窗口提供的cron表达式来衡量该规则的标准。当部署窗口中的日期和时间满足规则的 cron 表达式中的条件时,该规则就会成功。有关此规则的更多信息,请参阅DeploymentWindow

  • 条件可以使用 Amazon Lambda 规则来检查从已配置的 Lambda 函数返回的错误状态。当检查收到 Lambda 函数结果时,即符合规则。来自 Lambda 函数的错误符合 “出现故障” 条件的标准。有关此规则的更多信息,请参阅LambdaInvoke

  • 条件可以使用该Amazon CloudWatchAlarm规则来检查根据 CloudWatch 事件配置的警报。当检查返回警报状态为 OK、或 INSUFF _ 时ALARM,即符合规则DATA。对于 On Success 条件,OK 和 INSUFFICIENT _ DATA 符合标准。ALARM符合 “失效” 条件的标准。有关此规则的更多信息,请参阅CloudWatchAlarm