本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將手動核准動作新增至階段
在 中 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 中核准動作的設定和工作流程概觀
下列為設定並使用手動核准的概觀。
-
您可以將核准或拒絕核准動作所需的 IAM 許可授予組織中的一或多個 IAM 角色。
-
(選用) 如果您使用的是 Amazon SNS 通知,請確定您在 CodePipeline 操作中使用的服務角色具有存取 Amazon SNS 資源的許可。
-
(選用) 如果您使用 Amazon SNS 通知,您可以建立 Amazon SNS 主題,並將一或多個訂閱者或端點新增至其中。
-
當您使用 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 一般參考。) -
管道會在到達核准動作時停止。如果 Amazon SNS 主題 ARN 包含在動作的組態中,則會發佈通知至 Amazon SNS 主題,並將訊息傳遞給主題或訂閱端點的任何訂閱者,其中包含在主控台中檢閱核准動作的連結。
-
核准者會檢查目標 URL 並檢閱註解 (若有的話)。
-
使用主控台、CLI 或軟體開發套件,核准者可提供摘要註解並提交回應:
-
核准:繼續執行管道。
-
拒絕:階段狀態會變更為 "Failed" (失敗),並且不會繼續執行管道。
若七天內沒有提交任何回應,則會將動作標記為 "Failed" (失敗)。
-