本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
重試階段中失敗的階段或失敗的動作
您可以重試失敗的階段,而不必從頭開始再次執行管線。您可以透過在階段中重試失敗的動作,或重試階段中的所有動作,從階段中的第一個動作開始執行此操作。當您重試階段中的失敗動作時,所有仍在進行中的動作會繼續運作,而失敗的動作會再次觸發。當您從階段中的第一個動作重試失敗的階段時,階段不會有任何正在進行中的動作。在可以重試階段之前,它必須讓所有動作都失敗,或是某些動作失敗且某些動作成功。
重要
重試失敗的階段會從階段中的第一個動作重試階段中的所有動作,重試失敗的動作會重試階段中所有失敗的動作。這會覆寫相同執行中先前成功動作的輸出成品。
雖然可能會覆寫人工因素,但仍會保留先前成功動作的執行歷程記錄。
如果您使用主控台來檢視管線,則可重試階段按鈕或重試失敗動作按鈕會出現在可重試的階段上。
如果您使用 AWS CLI,可以使用get-pipeline-state命令來判斷是否有任何動作失敗。
注意
在下列情況下,您可能無法重試階段:
-
階段中的所有動作都成功,因此階段不會處於失敗狀態。
-
階段失敗後,整體配管結構已變更。
-
階段中的另一個重試正在處理中。
重試失敗的階段 (主控台)
在階段-主控台中重試失敗的階段或失敗的動作
-
請登入 AWS Management Console 並開啟 CodePipeline 主控台,網址為 http://console.aws.amazon.com/codesuite/codepipeline/home
。 會顯示與您 AWS 帳戶相關聯的所有管道名稱。
-
在 Name (名稱) 中,選擇管道的名稱。
-
找出具有失敗動作的階段,然後選擇下列其中一項:
-
若要重試階段中的所有動作,請選擇「重試階段」。
-
若要僅重試階段中失敗的動作,請選擇「重試失敗的動作」。
若階段中所有重試動作皆已成功完成,管道將持續執行。
-
重試失敗的階段 (CLI)
若要在階段中重試失敗的階段或失敗的動作-CLI
若要使用重 AWS CLI 試所有動作或所有失敗的動作,請使用下列參數執行retry-stage-execution命令:
--pipeline-name <value> --stage-name <value> --pipeline-execution-id <value> --retry-mode ALL_ACTIONS/FAILED_ACTIONS
注意
您可以使用的值retry-mode
是FAILED_ACTIONS
和ALL_ACTIONS
。
-
在終端機 (Linux、macOS 或 Unix) 或命令提示字元 (Windows) 上,執行retry-stage-execution命令,如下列範例所示,針對名稱為的管線
MyPipeline
。aws codepipeline retry-stage-execution --pipeline-name MyPipeline --stage-name Deploy --pipeline-execution-id b59babff-5f34-EXAMPLE --retry-mode FAILED_ACTIONS
輸出會傳回執行 ID:
{ "pipelineExecutionId": "b59babff-5f34-EXAMPLE" }
-
您也可以使用 JSON 輸入檔案來執行命令。首先您必須建立 JSON 檔案,此檔案指出管道、包含失敗動作的階段,以及該階段中最新的管道執行。接著使用
--cli-input-json
參數來執行 retry-stage-execution 命令。若要擷取 JSON 檔案所需的詳細資訊,使用 get-pipeline-state 命令是最簡單的方法。-
在終端機 (Linux、macOS 或 Unix) 或命令提示字元 (Windows) 上,在管線上執行get-pipeline-state命令。例如,對於名為的管線 MyFirstPipeline,您可以鍵入類似下列內容的內容:
aws codepipeline get-pipeline-state --name
MyFirstPipeline
對於命令的回應包括各階段的管道狀態資訊。在以下範例中,回應表示在預備 (Staging) 階段中失敗的一個或多個動作。
{ "updated": 1427245911.525, "created": 1427245911.525, "pipelineVersion": 1, "pipelineName": "MyFirstPipeline", "stageStates": [ { "actionStates": [...], "stageName": "Source", "latestExecution": { "pipelineExecutionId": "9811f7cb-7cf7-SUCCESS", "status": "Succeeded" } },
{ "actionStates": [...], "stageName": "Staging", "latestExecution": { "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE", "status": "Failed" }
} ] } -
在純文字編輯器中,以 JSON 格式來建立您將用於記錄下列內容的檔案:
-
包含失敗動作之管道的名稱
-
包含失敗動作之階段的名稱
-
該階段中最新管道執行的 ID
-
重試模式。
在前面的 MyFirstPipeline 例子中,您的文件看起來像這樣:
{ "pipelineName": "MyFirstPipeline", "stageName": "Staging", "pipelineExecutionId": "3137f7cb-7cf7-EXAMPLE", "retryMode": "FAILED_ACTIONS" }
-
-
以類似
retry-failed-actions.json
的名稱儲存檔案。 -
呼叫您執行 retry-stage-execution 命令時建立的檔案。例如:
重要
請確認在檔案名稱之前包含
file://
。這是此命令必要項目。aws codepipeline retry-stage-execution --cli-input-json file://retry-failed-actions.json
-
若要檢視重試嘗試的結果,請開啟 CodePipeline 主控台並選擇包含失敗動作的管線,或再次使用get-pipeline-state命令。如需更多詳細資訊,請參閱 在中檢視管線和詳細資訊 CodePipeline。
-