在中管理批准操作 CodePipeline - Amazon CodePipeline
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在中管理批准操作 CodePipeline

在中 Amazon CodePipeline,您可以将批准操作添加到管道中您希望停止管道执行的阶段,以便具有所需 Amazon Identity and Access Management 权限的人员可以批准或拒绝该操作。

如果操作获得批准,管道执行将恢复。如果操作被拒绝(或者在管道到达该操作后停止的七天内无人批准或拒绝该操作),结果将与操作失败相同,并且管道执行不会继续。

您可能会出于以下原因使用手动审批:

  • 您希望有人在修订获准进入管道的下一阶段之前,执行代码审核或变更管理审核。

  • 您希望有人在应用程序的最新版本发布之前,对其执行手动质量保证测试,或者确认生成项目的完整性。

  • 您希望有人在新文本或更新的文本发布到公司网站之前对其进行审核。

中手动批准操作的配置选项 CodePipeline

CodePipeline 提供了三个配置选项,可用来告知批准者有关批准操作的信息。

发布审批通知您可以配置一项审批操作,以便当管道在该操作停止时,向 Amazon Simple Notification Service 主题发布消息。Amazon SNS 会将消息传递给订阅该主题的每个端点。您必须使用在包含批准操作的管道所在 Amazon 区域创建的主题。在创建主题时,我们建议您为主题指定一个标识其用途的名称,并采用 MyFirstPipeline-us-east-2-approval 这样的格式。

向 Amazon SNS 主题发布审批通知时,您可以从各种形式中做出选择,如电子邮件或 SMS 收件人、SQS 队列、HTTP/HTTPS 端点或您使用 Amazon SNS 调用的 Amazon Lambda 函数。有关 Amazon SNS 主题通知的信息,请参阅以下主题:

有关为审批操作通知生成的 JSON 数据的结构,请参阅手动批准通知的 JSON 数据格式 CodePipeline

指定用于审阅的 URL 作为审批操作配置的一部分,您可以指定要审阅的 URL。该 URL 可能是一个指向以下内容的链接:指向您希望审批者进行测试的 Web 应用程序,或指向包含有关审批请求的更多信息的页面。该 URL 包含在发布到 Amazon SNS 主题的通知中。审批者可以使用控制台或 CLI 查看它。

输入审批者注释 在创建审批操作时,您还可以添加注释,这些注释将显示给接收通知的人员或者在控制台或 CLI 响应中查看操作的人员。

无配置选项 您也可以选择不配置这三个选项中的任何一个。您可能不需要它们,例如,您可直接通知某人该操作已可供他们审核,或者您只希望管道停止,直到您决定自行批准操作。

中批准操作的设置和工作流程概述 CodePipeline

下面概述了设置和使用手动审批的过程。

  1. 您应向组织中的一个或多个 IAM 角色授予批准或拒绝审批操作所需的 IAM 权限。

  2. (可选)如果您使用的是 Amazon SNS 通知,请确保您在 CodePipeline 操作中使用的服务角色有权访问 Amazon SNS 资源。

  3. (可选)如果使用 Amazon SNS 通知,则应创建一个 Amazon SNS 主题并向其添加一个或多个订阅用户或端点。

  4. 当您使用 Amazon CLI 创建管道时,或者在使用 CLI 或控制台创建管道之后,您可以向管道中的某个阶段添加批准操作。

    如果要使用通知,您应在操作的配置中包含 Amazon SNS 主题的 Amazon 资源名称 (ARN)。(ARN 是亚马逊资源的唯一标识符。 亚马逊 SNS 主题的 ARN 的结构类似于 arn: aws: sns: us-east-2:80398 示例:。MyApprovalTopic 有关更多信息,请参阅中的 Amazon 资源名称 (ARN) 和 Amazon Web Service 命名空间。)Amazon Web Services 一般参考

  5. 管道在到达审批操作时停止。如果在操作的配置中包含 Amazon SNS 主题 ARN,则会向 Amazon SNS 主题发布通知,并向该主题的所有订阅用户或订阅的端点发送消息,其中包含用于在控制台中查看审批操作的链接。

  6. 审批者检查目标 URL 并查看注释(如果有)。

  7. 审批者使用控制台、CLI 或软件开发工具包提供摘要注释并提交响应:

    • 批准:管道执行将恢复。

    • 拒绝:阶段状态更改为“Failed”,并且管道执行不恢复。

    如果七天内未提交任何响应,操作将标记为“Failed”。