本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定自動復原的階段
您可以在管道中設定階段,以便在失敗時自動復原。當階段失敗時,階段會復原為最近的成功執行。如果先前的執行是在目前的配管結構版本中啟動的,配管才能復原至先前的執行。由於自動復原組態是管線定義的一部分,因此只有在管線階段中成功執行管線之後,您的管線階段才會自動回復。
設定自動復原的階段 (主控台)
您可以將階段復原至指定的先前成功執行。如需詳細資訊,請參閱 CodePipeline API 指南RollbackStage中的。
設定自動復原的階段 (主控台)
請登入 AWS Management Console 並開啟 CodePipeline 主控台,網址為 http://console.aws.amazon.com/codesuite/codepipeline/home
。 會顯示與您 AWS 帳戶相關聯的所有管道的名稱和狀態。
-
在 Name (名稱) 中,選擇您想編輯的管道名稱。
-
在管道詳細資訊頁面上,選擇 Edit (編輯)。
-
在 [編輯] 頁面上,針對您要編輯的動作選擇 [編輯階段]。
-
選擇「設定階段失敗時自動復原」。將變更儲存至管道。
設定自動復原的階段 (CLI)
若要使用 AWS CLI 將失敗的階段設定為自動復原至最近成功的執行,請使用指令來建立或更新管線,如在中建立管線 CodePipeline和中所述在中編輯配管 CodePipeline。
-
開啟終端機 (Linux、macOS 或 Unix) 或命令提示字元 (Windows),然後使用 AWS CLI 來執行指
update-pipeline
令,並在管線結構中指定失敗狀況。下列範例會為名為的暫存設定自動復原:S3Deploy
{ "name": "S3Deploy", "actions": [ { "name": "s3deployaction", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "static-website-bucket", "Extract": "false", "ObjectKey": "SampleApp.zip" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1" } ],
"onFailure": { "result": "ROLLBACK"
} }如需有關設定階段復原失敗條件的詳細資訊,請參閱 CodePipeline API 參考FailureConditions中的。
設定自動復原的階段 (AWS CloudFormation)
若要用 AWS CloudFormation 來設定階段,以便在失敗時自動復原,請使用OnFailure
參數。失敗時,階段會自動回復到最近的成功執行。
OnFailure: Result: ROLLBACK
-
如下面的代碼片段更新模板。下列範例會為名為的暫存設定自動復原:
Release
AppPipeline: Type: AWS::CodePipeline::Pipeline Properties: RoleArn: Ref: CodePipelineServiceRole Stages: - Name: Source Actions: - Name: SourceAction ActionTypeId: Category: Source Owner: AWS Version: 1 Provider: S3 OutputArtifacts: - Name: SourceOutput Configuration: S3Bucket: Ref: SourceS3Bucket S3ObjectKey: Ref: SourceS3ObjectKey RunOrder: 1 - Name: Release Actions: - Name: ReleaseAction InputArtifacts: - Name: SourceOutput ActionTypeId: Category: Deploy Owner: AWS Version: 1 Provider: CodeDeploy Configuration: ApplicationName: Ref: ApplicationName DeploymentGroupName: Ref: DeploymentGroupName RunOrder: 1 OnFailure: Result: ROLLBACK ArtifactStore: Type: S3 Location: Ref: ArtifactStoreS3Location EncryptionKey: Id: arn:aws:kms:useast-1:ACCOUNT-ID:key/KEY-ID Type: KMS DisableInboundStageTransitions: - StageName: Release Reason: "Disabling the transition until integration tests are completed" Tags: - Key: Project Value: ProjectA - Key: IsContainerBased Value: 'true'
如需有關設定階段復原的失敗條件的詳細資訊,請參閱OnFailure《AWS CloudFormation 使用指南》
StageDeclaration
中的〈〉中的〈