將手動核准動作新增至階段 - AWS CodePipeline

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

將手動核准動作新增至階段

在 中 AWS CodePipeline,您可以將核准動作新增至管道中要停止管道執行的階段,以便具有所需 AWS Identity and Access Management 許可的人員可以核准或拒絕動作。

若動作獲得核准,管道執行將繼續。如果動作被拒絕,或者如果在管道到達動作並停止的七天內沒有人核准或拒絕動作,則結果與動作失敗的結果相同,且管道執行不會繼續。

由於這些原因,您可以使用手動核准:

  • 您想要在允許修訂進入管道的下一階段前,有人執行程式碼審視或更改管理審視。

  • 您想要有人針對應用程式最新版本在發行前執行手動品質保證測試,或者確認建構成品的完整性。

  • 您想要有人在新文字或更新文字發佈到公司網站前進行審視。

中的手動核准動作組態選項 CodePipeline

CodePipeline 提供三個組態選項,可讓您用來告訴核准者核准動作的相關資訊。

發佈核准通知 您可以設定核准動作,在管道停止動作時將訊息發佈至 Amazon Simple Notification Service 主題。Amazon 會將訊息SNS傳遞給訂閱主題的每個端點。您必須使用與管道在相同 AWS 區域中建立的主題,其中包含核准動作。當您建立主題時,我們建議您以能夠判別其目的之名稱命名,例如像是 MyFirstPipeline-us-east-2-approval 的格式。

當您將核准通知發佈至 Amazon SNS主題時,您可以選擇電子郵件或SMS收件人、SQS佇列、HTTP/HTTPS 端點或 AWS Lambda 您使用 Amazon 叫用函數等格式SNS。如需有關 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. 當您使用 AWS CLI建立管道,或使用 CLI或 主控台建立管道後,您可以將核准動作新增至管道中的階段。

    如果您使用通知,請在 動作的組態中包含 Amazon SNS主題的 Amazon Resource Name (ARN)。( ARN是 Amazon 資源的唯一識別符。ARNs Amazon SNS主題的結構類似 arn:aws:sns:us-east-2:80398EXAMPLE:MyApprovalTopic。 如需詳細資訊,請參閱 中的 Amazon Resource Names (ARNs) 和 AWS 服務 命名空間Amazon Web Services 一般參考。)

  5. 管道會在到達核准動作時停止。如果動作的組態中ARN包含 Amazon SNS主題,則會發佈通知給 Amazon SNS主題,並將訊息傳遞給主題或訂閱端點的任何訂閱者,並附上在主控台中檢閱核准動作的連結。

  6. 核准者會檢查目標URL並檢閱評論,如果有的話。

  7. 使用主控台、 CLI或 SDK,核准者會提供摘要評論並提交回應:

    • 核准:繼續執行管道。

    • 拒絕:階段狀態會變更為 "Failed" (失敗),並且不會繼續執行管道。

    若七天內沒有提交任何回應,則會將動作標記為 "Failed" (失敗)。