本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
向中的管道添加手动批准操作 CodePipeline
您可以将批准操作添加到管道中您希望停止 CodePipeline 管道的阶段,以便其他人可以手动批准或拒绝该操作。
注意
不能将审批操作添加到源阶段。源阶段只能包含源操作。
如果您想在批准操作可供审核时使用 Amazon SNS 发送通知,则必须先满足以下先决条件:
-
向您的 CodePipeline 服务角色授予访问Amazon SNS 资源的权限。有关信息,请参阅向 CodePipeline服务角色授予 Amazon SNS 权限。
-
向组织中的一个或多个IAM身份授予更新批准操作状态的权限。有关信息,请参阅向中的IAM用户授予批准权限 CodePipeline。
在此示例中,您将创建一个新的审批阶段,并向该阶段添加一个手动审批操作。您也可以向包含其他操作的现有阶段添加手动审批操作。
向 CodePipeline 管道添加手动批准操作(控制台)
您可以使用 CodePipeline 控制台向现有 CodePipeline管道添加批准操作。 Amazon CLI如果要在创建新管道时添加批准操作,则必须使用。
打开 CodePipeline 控制台,网址为https://console.aws.amazon.com/codepipeline/
。 -
在名称中,选择管道。
-
在管道详细信息页中,选择编辑。
-
如果您要在新的阶段添加审批操作,请在管道中您要添加审批请求的时间点选择 + 添加阶段,然后输入阶段名称。在添加阶段页面上的阶段名称中,输入新的阶段名称。例如,添加一个新阶段并将其命名为
Manual_Approval
。如果您要在现有阶段中添加审批操作,请选择编辑阶段。
-
在要在其中添加审批操作的阶段中,选择 + 添加操作组。
-
在编辑操作页中,执行以下操作:
-
在操作名称中,输入用于识别操作的名称。
-
在操作提供程序中的审批下,选择手动审批。
-
(可选)在SNS主题中ARN,选择用于发送批准操作通知的主题名称。
-
(可选)在 “URL供审阅” 中URL,输入您希望审批者检查的页面或应用程序。批准者可以通过管道控制台视图中包含的链接进行访问。URL
-
(可选)在注释中,输入您要与审批者共享的任何其他信息。
-
选择保存。
-
向 CodePipeline管道添加手动批准操作 (CLI)
您可以使用CLI向现有管道添加批准操作,也可以在创建管道时使用。您可以通过以下方式实现此目的:在创建或编辑的阶段中添加手动审批类型的审批操作。
有关创建和编辑管道的更多信息,请参阅创建管道、阶段和操作和在中编辑管道 CodePipeline。
要向管道中添加一个仅包含审批操作的阶段,那么在创建或更新管道时,您应包括类似于以下示例的内容。
注意
configuration
部分是可选的。这只是文件的一部分,而不是整个结构。有关更多信息,请参阅 CodePipeline 管道结构参考。
{ "name": "
MyApprovalStage
", "actions": [ { "name": "MyApprovalAction
", "actionTypeId": { "category": "Approval", "owner": "AWS", "version": "1", "provider": "Manual" }, "inputArtifacts": [], "outputArtifacts": [], "configuration": { "NotificationArn": "", "ExternalEntityLink": "
arn:aws:sns:us-east-2:80398EXAMPLE:MyApprovalTopic
http://example.com
", "CustomData": "The latest changes include feedback from Bob.
"}, "runOrder": 1 } ] }
如果批准操作处于其他操作的阶段,则JSON文件中包含该阶段的部分可能与以下示例类似。
注意
configuration
部分是可选的。这只是文件的一部分,而不是整个结构。有关更多信息,请参阅 CodePipeline 管道结构参考。
, { "name": "
Production
", "actions": [ { "inputArtifacts": [], "name": "MyApprovalAction
", "actionTypeId": { "category": "Approval", "owner": "AWS", "version": "1", "provider": "Manual" }, "outputArtifacts": [], "configuration": { "NotificationArn": "arn:aws:sns:us-east-2:80398EXAMPLE:MyApprovalTopic
", "ExternalEntityLink": "http://example.com
", "CustomData": "The latest changes include feedback from Bob.
" }, "runOrder": 1 }, { "inputArtifacts": [ { "name": "MyApp
" } ], "name": "MyDeploymentAction
", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "MyDemoApplication
", "DeploymentGroupName": "MyProductionFleet
" }, "runOrder": 2 } ] }