

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

# 자동 롤백을 위한 스테이지 구성
<a name="stage-rollback-auto"></a>

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

## 자동 롤백을 위한 스테이지 구성(콘솔)
<a name="stage-rollback-auto-console"></a>

스테이지를 지정된 이전에 성공한 실행으로 롤백할 수 있습니다. 자세한 내용은 *CodePipeline API 가이드*의 [RollbackStage](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RollbackStage.html)를 참조하세요.

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

1. 에 로그인 AWS Management Console 하고 [http://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home) CodePipeline 콘솔을 엽니다.

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

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

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

1. **편집** 페이지에서 편집하려는 작업에 대해 **스테이지 편집**을 선택합니다.

1. **자동화된 스테이지 구성:**을 선택한 다음 **스테이지 장애 시 자동 롤백 구성**을 선택합니다. 파이프라인에 변경 사항을 저장합니다.  
![CodePipeline에서 롤백된 스테이지를 구성하기 위한 편집 화면의 예입니다.](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/rollback-configure.png)

## 자동 롤백을 위한 스테이지 구성(CLI)
<a name="stage-rollback-auto-cli"></a>

 AWS CLI 를 사용하여 가장 최근에 성공한 실행으로 자동 롤백하도록 실패한 단계를 구성하려면 [파이프라인 스테이지 및 작업 생성](pipelines-create.md) 및에 설명된 대로 명령을 사용하여 파이프라인을 생성하거나 업데이트합니다[CodePipeline에서 파이프라인 편집](pipelines-edit.md).
+ 터미널(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](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_FailureConditions.html)을 참조하세요.

## 자동 롤백을 위한 스테이지 구성(CloudFormation)
<a name="stage-rollback-auto-cfn"></a>

 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'
  ```

  스테이지 롤백의 실패 조건 구성에 대한 자세한 내용은 *CloudFormation 사용 설명서*에서 `StageDeclaration` 아래의 [OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-codepipeline-pipeline-stagedeclaration.html#cfn-codepipeline-pipeline-stagedeclaration-onfailure)를 참조하세요.