자동 롤백을 위한 스테이지 구성 - AWS CodePipeline

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자동 롤백을 위한 스테이지 구성

실패 시 자동으로 롤백되도록 파이프라인의 단계를 구성할 수 있습니다. 스테이지가 실패하면 스테이지가 가장 최근에 성공한 실행으로 롤백됩니다. 파이프라인은 현재 파이프라인 구조 버전에서 이전 실행이 시작된 경우에만 이전 실행으로 롤백할 수 있습니다. 자동 롤백 구성은 파이프라인 정의의 일부이므로 파이프라인 단계에서 파이프라인이 성공적으로 실행된 후에만 파이프라인 단계가 자동으로 롤백됩니다.

자동 롤백을 위한 스테이지 구성(콘솔)

스테이지를 지정된 이전 성공 실행으로 롤백할 수 있습니다. 자세한 내용은 가이드RollbackStage의 섹션을 참조하세요. CodePipeline API

자동 롤백을 위한 스테이지 구성(콘솔)
  1. 에 로그인 AWS Management Console 하고 http://console.aws.amazon.com/codesuite/codepipeline/home CodePipeline 콘솔을 엽니다.

    AWS 계정과 연결된 모든 파이프라인의 이름과 상태가 표시됩니다.

  2. [Name]에서 편집할 파이프라인의 이름을 선택합니다.

  3. 파이프라인 세부 정보 페이지에서 [Edit]를 선택합니다.

  4. 편집 페이지의 편집하려는 작업에 대해 편집 단계 를 선택합니다.

  5. 자동 스테이지 구성:을 선택한 다음 스테이지 실패 시 자동 롤백 구성 을 선택합니다. 파이프라인에 변경 사항을 저장합니다.

    에서 롤백 단계를 구성하는 예제 편집 화면입니다 CodePipeline.

자동 롤백을 위한 스테이지 구성(CLI)

AWS CLI 를 사용하여 실패한 단계를 구성하여 가장 최근에 성공한 실행으로 자동 롤백하려면 파이프라인, 단계 및 작업 생성 및 에 설명된 대로 명령을 사용하여 파이프라인을 생성하거나 업데이트합니다에서 파이프라인 편집 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" } }

    스테이지 롤백에 대한 실패 조건 구성에 대한 자세한 내용은 참조FailureConditions의 섹션을 참조하세요. CodePipeline API

자동 롤백을 위한 스테이지 구성(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'

    스테이지 롤백에 대한 실패 조건 구성에 대한 자세한 내용은 AWS CloudFormation 사용 설명서StageDeclarationOnFailure 섹션을 참조하세요.