將手動核准動作新增至階段 - 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 主題時,您可以選擇電子郵件或簡訊收件人、SQS 佇列、HTTP/HTTPS 端點或 AWS Lambda 您使用 Amazon SNS 叫用之函數等格式。如需有關 Amazon SNS 主題通知的資訊,請參閱下列主題:

如需為核准動作通知產生的 JSON 資料結構,請參閱 CodePipeline 中手動核准通知的 JSON 資料格式

指定用於審視的 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 資源的唯一識別符。 Amazon SNS 主題ARNs 結構為 arn:aws:sns:us-east-2:80398EXAMPLE:MyApprovalTopic。 如需詳細資訊,請參閱 中的 Amazon Resource Name (ARNs) 和 AWS 服務 命名空間Amazon Web Services 一般參考。)

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

  6. 核准者會檢查目標 URL 並檢閱註解 (若有的話)。

  7. 使用主控台、CLI 或軟體開發套件,核准者可提供摘要註解並提交回應:

    • 核准:繼續執行管道。

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

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