스테이지에 대한 조건 구성 - AWS CodePipeline

스테이지에 대한 조건 구성

파이프라인 실행에서 특정 변수를 확인하는 등 스테이지에 대한 조건을 지정한 다음, 스테이지를 건너뛰거나 스테이지를 실패하는 등의 조건에 대한 결과를 적용할 수 있습니다. 파이프라인을 설정하여 실행 중에 스테이지 조건을 확인할 수 있습니다. 여기서 스테이지에 대한 검사를 지정한 다음 특정 조건이 충족될 때 스테이지를 계속하는 방법을 지정합니다. 조건에는 CodePipeline의 규칙 목록에서 사용할 수 있는 하나 이상의 규칙이 포함됩니다. 조건의 모든 규칙이 성공하면 조건이 충족됩니다. 기준이 충족되지 않으면 지정된 결과가 적용되도록 조건을 구성할 수 있습니다.

각 조건에는 함께 평가되는 규칙의 순서 집합인 규칙 집합이 있습니다. 따라서 조건에서 하나의 규칙이 실패하면 조건이 실패합니다. 파이프라인 런타임 시 규칙 조건을 재정의할 수 있습니다.

조건은 특정 유형의 표현식에 사용되며 각 표현식에는 다음과 같이 사용할 수 있는 결과에 대한 특정 옵션이 있습니다.

  • 입력 - 충족되는 경우 스테이지에 대한 진입을 허용하는 검사 수행 조건입니다. 규칙은 실패 또는 건너뛰기 결과 옵션과 함께 사용됩니다.

  • 실패 시 - 스테이지가 실패할 때 스테이지를 확인하기 위한 조건입니다. 규칙은 롤백 결과 옵션과 함께 사용됩니다.

  • 성공 시 - 스테이지가 성공할 때 스테이지를 확인하기 위한 조건입니다. 규칙은 롤백 또는 실패와 같은 결과 옵션과 함께 사용됩니다.

조건은 각 조건 유형에 대한 규칙 집합에서 지원됩니다.

각 조건 유형에는 조건에 따라 설정된 특정 작업이 있습니다. 작업은 성공 또는 실패한 조건 확인의 결과입니다. 예를 들어 입력 조건(입력 조건)에 경보(규칙)가 발생하면 확인이 성공하고 결과(작업)는 스테이지 항목이 차단된 것입니다.

또한 AWS CodePipeline 콘솔 또는 AWS CLI를 사용하여 스테이지 또는 스테이지의 작업을 수동으로 롤백하거나 재시도할 수 있습니다. 스테이지에 대한 조건 구성 섹션을 참조하세요.

스테이지 조건에 대한 사용 사례

스테이지 조건에는 파이프라인에서 릴리스 및 변경 안전을 설정하는 데 사용되는 여러 사용 사례가 있습니다. 다음은 스테이지 조건에 대한 샘플 사용 사례입니다.

  • 입력 조건을 사용하여 CloudWatch 경보 상태를 확인하는 조건을 정의하면 프로덕션 환경이 정상 상태가 아닌 경우 변경 사항이 차단됩니다.

  • 대기 시간이 60인 입력 조건을 사용하여 단계의 모든 작업이 성공적으로 완료되었을 때 평가할 조건을 정의한 다음, CloudWatch 경보가 60분 이내에 ALARM 상태가 되면 변경 사항을 롤백합니다.

  • 성공 시 조건을 사용하여 스테이지가 성공적으로 완료되면 규칙이 현재 시간이 배포 기간에 있는지 확인한 다음, 규칙이 성공하면 배포되도록 조건을 정의합니다.

스테이지 조건에 대해 구성된 결과 고려 사항

스테이지 조건에 대한 고려 사항은 다음과 같습니다.

  • onFailure 조건에서는 자동 스테이지 재시도를 사용할 수 없습니다.

  • 롤백 결과로 조건을 구성할 때 현재 파이프라인 구조 버전에서 사용 가능한 경우에만 스테이지가 이전 실행으로 롤백될 수 있습니다.

  • 롤백 결과로 조건을 구성할 때는 롤백 실행 유형인 대상 실행 ID로 롤백할 수 없습니다.

  • 조건이 실패하면 건너뛰기 결과를 사용하여 스테이지를 건너뛰는 입력 조건의 경우 LambdaInvokeVariableCheck 규칙만 지원됩니다.

  • 건너뛴 상태의 스테이지에서는 수동 스테이지 재시도를 수행할 수 없습니다.

  • 건너뛴 상태의 스테이지로 수동 롤백을 수행할 수 없습니다.

  • 조건이 건너뛰기 결과로 구성된 경우 조건을 재정의할 수 없습니다.

  • 건너뛰기 결과를 제외하고 파이프라인 실행을 시작할 때 스테이지 조건을 재정의할 수 있습니다. 재정의를 사용하는 스테이지 조건의 경우 실행은 다음 표에 설명된 대로 수행됩니다.

  • 유형 조건 실패 시 구성된 결과 스테이지 상태 동작 재정의
    입력 Fail 진행 중 스테이지가 진행됩니다.
    입력 건너뛰기 건너뜀 해당 사항 없음.

    OnFailure

    롤백 Failed 스테이지가 실패했습니다.
    OnSuccess 롤백 성공 스테이지가 진행됩니다.

    OnSuccess

    Fail Failed 스테이지가 진행됩니다.

스테이지 조건에 대해 구성된 규칙 고려 사항

스테이지 조건에 대해 가능한 규칙의 고려 사항은 다음과 같습니다.

  • LambdaInvoke 규칙의 경우 먼저 규칙에 사용할 Lambda 함수를 구성해야 합니다. 규칙을 구성할 때 Lambda 함수 ARN을 제공할 준비를 합니다.

  • CloudWatchAlarm 규칙의 경우 먼저 규칙에 사용할 CloudWatch Events 이벤트를 구성해야 합니다. 규칙을 구성할 때 이벤트 ARN을 제공할 준비를 합니다.

입력 조건 생성

콘솔 또는 CLI를 사용하여 스테이지의 입력 조건을 구성할 수 있습니다. 각 조건에 해당하는 규칙과 결과를 구성합니다. 롤백 결과의 경우 파이프라인은 현재 파이프라인 구조 버전에서 이전 실행이 시작된 경우에만 이전 실행으로 롤백할 수 있습니다.

이 단계에서는 모니터 규칙을 사용하는 예제 입력 조건을 제공합니다.

자세한 내용은 CodePipeline API 가이드조건, RuleTypeIdRuleExecution을 참조하세요.

입력 조건 생성 - CloudWatchAlarm 규칙 예제(콘솔)

조건이 충족될 때 스테이지가 수행할 규칙 및 결과와 함께 스테이지에 대한 입력 조건을 구성할 수 있습니다.

입력 조건 구성(콘솔)
  1. AWS CloudWatchAlarm과 같이 리소스가 제공되는 규칙에 대한 리소스 및 ARN 생성과 같은 사전 조건을 완료합니다.

  2. AWS Management Console에 로그인하여 http://console.aws.amazon.com/codesuite/codepipeline/home에서 CodePipeline 콘솔을 여세요.

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

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

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

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

  6. 입력 조건 추가를 선택합니다. 스테이지 진입 전 조건 카드가 이 조건에 사용할 수 있는 실패 옵션과 함께 표시됩니다.

  7. 규칙 추가를 선택하고 다음을 완료합니다.

    1. 규칙 이름에 규칙의 이름을 입력합니다. 이 예에서는 MyAlarmRule를 입력합니다.

    2. 규칙 공급자에서 조건에 추가할 사전 구성된 규칙 공급자를 선택합니다. 이 예에서는 AWS CloudWatchAlarm을 선택하고, 다음 단계를 완료합니다.

    3. 리전에서 조건에 맞는 리전을 선택하거나 기본값을 그대로 둡니다.

    4. 경보 이름에서 규칙에 사용할 CloudWatch 리소스를 선택합니다. 계정에 리소스를 이미 생성했어야 합니다.

    5. (선택 사항) 대기 시간에 경보가 처음 평가될 때 경보가 ALARM 상태인 경우 CodePipeline이 대기하는 시간을 입력합니다. 규칙을 처음 확인할 때 경보가 OK 상태인 경우 규칙이 즉시 성공합니다.

    6. (선택 사항) 모니터링할 특정 경보 상태를 입력하고 필요한 경우 역할 ARN을 입력합니다.

    7. 스테이지 편집을 완료하면 완료를 선택합니다. 파이프라인 편집 페이지에서 저장을 선택합니다.

  8. 실행 후 결과를 확인합니다.

건너뛰기 결과 및 VariableCheck 규칙을 사용하여 입력 조건 생성(콘솔)

입력 조건이 충족되지 않으면 스테이지를 건너뛰도록 스테이지에 대한 입력 조건을 구성할 수 있습니다. 조건이 실패하면 결과가 작동하고 스테이지를 건너뜁니다. 스테이지를 건너뛰면 스테이지 상태는 건너뛰기 이고, 작업 상태는 실행 안 함입니다. 건너뛰기 결과가 있는 스테이지 조건에 대한 고려 사항은 스테이지 조건에 대해 구성된 결과 고려 사항 섹션을 참조하세요.

다음 예제에서 변수 확인 규칙은 값이 일치하지 않으며 빌드 스테이지가 건너뛰어 있음을 확인합니다.

건너뛰기 결과를 사용하여 입력 조건 구성(콘솔)
  1. AWS CloudWatchAlarm과 같이 리소스가 제공되는 규칙에 대한 리소스 및 ARN 생성과 같은 사전 조건을 완료합니다.

  2. AWS Management Console에 로그인하여 http://console.aws.amazon.com/codesuite/codepipeline/home에서 CodePipeline 콘솔을 여세요.

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

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

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

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

  6. 입력 조건 추가를 선택한 다음 결과로 건너뛰기를 선택합니다.

  7. 규칙 추가를 선택하고 다음을 완료합니다.

    1. 규칙 이름에 규칙의 이름을 입력합니다. 이 예에서는 MyAlarmRule를 입력합니다.

    2. 규칙 공급자에서 조건에 추가할 사전 구성된 규칙 공급자를 선택합니다. 이 예제에서는 VariableCheck를 선택하고, 다음 단계를 완료합니다.

      CodePipeline을 이용한 릴리스 프로세스의 예.
    3. 리전에서 조건에 맞는 리전을 선택하거나 기본값을 그대로 둡니다.

    4. 변수에서 GitHub 버전 2 소스 작업이 있는 파이프라인에 대한 #{SourceVariables.FullRepositoryName}과 같이 비교할 변수를 선택합니다. 리포지토리 이름을 입력하고 Equals와 같은 연산자를 선택합니다.

    5. 스테이지 편집을 완료하면 완료를 선택합니다. 파이프라인 편집 페이지에서 저장을 선택합니다.

  8. 실행 후 결과를 확인합니다.

    CodePipeline을 이용한 릴리스 프로세스의 예.
  9. 세부 정보를 검토하려면 검토를 선택합니다. 다음 예제의 세부 정보는 조건에 대해 구성된 결과가 건너뛰기이며 재정의할 수 없음을 보여줍니다. 조건이 충족되지 않아 규칙 상태가 실패입니다.

    CodePipeline의 건너뛰기 결과 조건을 보여주는 조건 세부 정보 페이지의 예입니다.

입력 조건 생성(CLI)

AWS CLI를 사용하여 입력 조건을 구성하려면 파이프라인 스테이지 및 작업 생성CodePipeline에서 파이프라인 편집에 설명된 대로 명령을 사용하여 파이프라인을 생성하거나 업데이트합니다.

조건 및 규칙 또는 규칙 구성(CLI)
  • 터미널(Linux, macOS 또는 Unix) 또는 명령 프롬프트(Windows)를 열고 AWS CLI를 사용하여 update-pipeline 명령을 실행함으로써 파이프라인 구조의 실패 조건을 지정합니다. 다음 예제에서는 Deploy라는 이름의 스테이지에 대한 입력 조건을 구성합니다.

    { "name": "Deploy", "actions": [ { "name": "Deploy", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "MyBucket", "Extract": "false", "ObjectKey": "object.xml" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1", "namespace": "DeployVariables" } ], "beforeEntry": { "conditions": [ { "result": "FAIL", "rules": [ { "name": "MyAlarmRule", "ruleTypeId": { "category": "Rule", "owner": "AWS", "provider": "CloudWatchAlarm", "version": "1" }, "configuration": { "AlarmName": "CWAlarm", "WaitTime": "1" }, "inputArtifacts": [], "region": "us-east-1" } ] } ] } }

    스테이지 롤백의 성공 조건 구성에 대한 자세한 내용은 CodePipeline API 참조SuccessConditions을 참조하세요.

입력 조건 생성(CFN)

AWS CloudFormation을 사용하여 입력 조건을 구성하려면 beforeEntry 파라미터를 사용합니다. 입력 시 스테이지는 규칙을 실행하고 결과를 수행합니다.

beforeEntry: Result: FAIL
  • 다음 조각과 같이 템플릿을 업데이트합니다. 다음 예제에서는 MyMonitorRule이라는 규칙으로 입력 조건을 구성합니다.

    Name: Deploy Actions: - Name: Deploy ActionTypeId: Category: Deploy Owner: AWS Provider: S3 Version: '1' RunOrder: 1 Configuration: BucketName: MyBucket Extract: 'false' ObjectKey: object.xml OutputArtifacts: [] InputArtifacts: - Name: SourceArtifact Region: us-east-1 Namespace: DeployVariables BeforeEntry: Conditions: - Result: FAIL Rules: - Name: MyMonitorRule RuleTypeId: Category: Rule Owner: AWS Provider: CloudWatchAlarm Version: '1' Configuration: AlarmName: CWAlarm WaitTime: '1' InputArtifacts: [] Region: us-east-1

    beforeEntry 조건 구성에 대한 자세한 내용은 AWS CloudFormation 사용 설명서StageDeclaration에서 AWS::CodePipeline::Pipeline BeforeEntryConditions을 참조하세요.

실패 시 조건 생성

콘솔 또는 CLI를 사용하여 스테이지의 실패 시 조건을 구성할 수 있습니다. 각 조건에 해당하는 규칙과 결과를 구성합니다. 롤백 결과의 경우 파이프라인은 현재 파이프라인 구조 버전에서 이전 실행이 시작된 경우에만 이전 실행으로 롤백할 수 있습니다.

실패 시 조건 생성(콘솔)

조건이 충족될 때 스테이지가 수행할 규칙 및 결과와 함께 스테이지에 대한 실패 시 조건을 구성할 수 있습니다.

실패 시 조건 구성(콘솔)
  1. LambdaInvoke 규칙과 같이 리소스가 제공되는 규칙에 대한 리소스 및 ARN 생성과 같은 사전 조건을 완료합니다.

  2. AWS Management Console에 로그인하여 http://console.aws.amazon.com/codesuite/codepipeline/home에서 CodePipeline 콘솔을 여세요.

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

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

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

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

  6. 실패 조건 추가를 선택합니다. 실패 조건 카드가 이 조건에 사용할 수 있는 롤백 옵션과 함께 표시됩니다.

  7. 규칙 추가를 선택하고 다음을 완료합니다.

    1. 규칙 이름에 규칙의 이름을 입력합니다. 이 예에서는 MyLambdaRule를 입력합니다.

    2. 규칙 공급자에서 조건에 추가할 사전 구성된 규칙 공급자를 선택합니다. 이 예에서는 AWS LambdaInvoke를 선택하고, 다음 단계를 완료합니다.

    3. 리전에서 조건에 맞는 리전을 선택하거나 기본값을 그대로 둡니다.

    4. 입력 아티팩트에서 소스 아티팩트를 선택합니다.

    5. 함수 이름에서 규칙에 사용할 Lambda 리소스를 선택합니다. 계정에 리소스를 이미 생성했어야 합니다.

    6. (선택 사항) 사용자 파라미터에 추가 구성을 위한 파라미터를 나타내는 모든 페어를 입력합니다.

    7. (선택 사항) 역할 ARN에서 구성된 경우 역할 ARN을 입력합니다.

    8. (선택 사항) 제한 시간(분)에 규칙이 제한 시간 전에 기다려야 하는 시간을 분 단위로 입력합니다.

    9. 스테이지 편집을 완료하면 완료를 선택합니다. 파이프라인 편집 페이지에서 저장을 선택합니다.

재시도 결과 예제를 사용하여 onFailure 조건 생성(콘솔)

입력 조건이 충족되지 않으면 스테이지가 재시도되도록 스테이지에 대한 onFailure 조건을 구성할 수 있습니다. 이 결과의 일부로 실패한 작업을 다시 시도할지 또는 실패한 단계를 다시 시도할지 지정하여 재시도 모드를 구성합니다.

재시도 결과로 onFailure 조건 구성(콘솔)
  1. AWS CloudWatchAlarm과 같이 리소스가 제공되는 규칙에 대한 리소스 및 ARN 생성과 같은 사전 조건을 완료합니다.

  2. AWS Management Console에 로그인하여 http://console.aws.amazon.com/codesuite/codepipeline/home에서 CodePipeline 콘솔을 여세요.

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

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

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

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

  6. 스테이지 하단의 자동화된 스테이지 구성:에서 스테이지 장애 시 자동 재시도 활성화를 선택합니다. 재시도 모드에서 실패한 단계 재시도 또는 실패한 작업 재시도 중 하나를 선택합니다.

    CodePipeline에서 스테이지의 재시도 모드를 구성합니다.
  7. onFailure 조건을 추가하도록 선택한 다음 규칙 추가를 선택하고 조건에 대한 규칙을 입력합니다.

    1. 규칙 이름에 규칙의 이름을 입력합니다. 이 예에서는 MyAlarmRule를 입력합니다.

    2. 규칙 공급자에서 조건에 추가할 사전 구성된 규칙 공급자를 선택합니다. 이 예에서는 CloudWatchAlarm을 선택하고, 다음 단계를 완료합니다.

    3. 리전에서 조건에 맞는 리전을 선택하거나 기본값을 그대로 둡니다.

    4. 경보 이름에서 경보에 대해 구성된 리소스를 선택합니다.

    5. 스테이지 편집을 완료하면 완료를 선택합니다. 파이프라인 편집 페이지에서 저장을 선택합니다.

  8. 실행 후 결과를 확인합니다.

실패 시 조건 생성(CLI)

AWS CLI를 사용하여 실패 시 조건을 구성하려면 파이프라인 스테이지 및 작업 생성CodePipeline에서 파이프라인 편집에 설명된 대로 명령을 사용하여 파이프라인을 생성하거나 업데이트합니다.

조건 및 규칙 또는 규칙 구성(CLI)
  • 터미널(Linux, macOS 또는 Unix) 또는 명령 프롬프트(Windows)를 열고 AWS CLI를 사용하여 update-pipeline 명령을 실행함으로써 파이프라인 구조의 실패 조건을 지정합니다. 다음 예제에서는 Deploy라는 이름의 스테이지에 대한 실패 시 조건을 구성합니다.

    { "name": "Deploy", "actions": [ { "name": "Deploy", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "MyBucket", "Extract": "false", "ObjectKey": "object.xml" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1", "namespace": "DeployVariables" } ], "onFailure": { "conditions": [ { "result": "ROLLBACK", "rules": [ { "name": "MyLambdaRule", "ruleTypeId": { "category": "Rule", "owner": "AWS", "provider": "LambdaInvoke", "version": "1" }, "configuration": { "FunctionName": "my-function" }, "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1" } ] } ] } }

    실패 조건 구성에 대한 자세한 내용은 CodePipeline API 참조FailureConditions을 참조하세요.

실패 시 조건 생성(CFN)

AWS CloudFormation을 사용하여 실패 시 조건을 구성하려면 OnFailure 파라미터를 사용합니다. 성공 시 스테이지는 규칙을 실행하고 결과를 수행합니다.

OnFailure: Result: ROLLBACK
  • 다음 조각과 같이 템플릿을 업데이트합니다. 다음 예제에서는 MyMonitorRule이라는 규칙으로 OnFailure 조건을 구성합니다.

    name: Deploy actions: - name: Deploy actionTypeId: category: Deploy owner: AWS provider: S3 version: '1' runOrder: 1 configuration: BucketName: MyBucket Extract: 'false' ObjectKey: object.xml outputArtifacts: [] inputArtifacts: - name: SourceArtifact region: us-east-1 namespace: DeployVariables onFailure: conditions: - result: ROLLBACK rules: - name: MyMonitorRule ruleTypeId: category: Rule owner: AWS provider: CloudWatchAlarm version: '1' configuration: AlarmName: AlarmOnHelloWorldInvocation AlarmStates: ALARM WaitTime: '1' inputArtifacts: [] region: us-east-1

    실패 조건 구성에 대한 자세한 내용은 AWS CloudFormation 사용 설명서에서 StageDeclaration 아래의 OnFailure를 참조하세요.

성공 시 조건 생성

콘솔 또는 CLI를 사용하여 스테이지의 성공 시 조건을 구성할 수 있습니다. 각 조건에 해당하는 규칙과 결과를 구성합니다. 롤백 결과의 경우 파이프라인은 현재 파이프라인 구조 버전에서 이전 실행이 시작된 경우에만 이전 실행으로 롤백할 수 있습니다.

이 단계에서는 배포 기간 규칙을 사용하는 성공 시 조건의 예를 제공합니다.

자세한 내용은 CodePipeline API 가이드조건, RuleTypeIdRuleExecution을 참조하세요.

성공 시 조건 생성(콘솔)

조건이 충족될 때 스테이지가 수행할 규칙 및 결과와 함께 스테이지에 대한 성공 시 조건을 구성할 수 있습니다.

성공 시 조건 구성(콘솔)
  1. AWS LambdaRule과 같이 리소스가 제공되는 규칙에 대한 리소스 및 ARN 생성과 같은 사전 조건을 완료합니다.

  2. AWS Management Console에 로그인하여 http://console.aws.amazon.com/codesuite/codepipeline/home에서 CodePipeline 콘솔을 여세요.

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

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

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

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

  6. 성공 조건 추가를 선택합니다. 온스테이지 성공 조건 카드가 표시됩니다. 이 조건 유형에 사용 가능한 결과로 표시된 롤백 또는 실패 옵션을 선택합니다.

  7. 규칙 추가를 선택하고 다음을 완료합니다.

    1. 규칙 이름에 조건의 이름을 입력합니다. 이 예에서는 MyDeploymentRule를 입력합니다.

    2. 규칙 공급자에서 조건에 추가할 사전 구성된 규칙을 선택합니다. 이 예에서는 AWS DeploymentWindow를 선택하고, 다음 단계를 완료합니다.

    3. 리전에서 조건에 맞는 리전을 선택하거나 기본값을 그대로 둡니다.

    4. Cron에 배포 기간의 cron 표현식을 입력합니다. cron 표현식은 배포가 허용되어야 하는 날짜와 시간을 정의합니다. cron 표현식에 대한 참조 정보는 cron 및 rate 표현식을 사용하여 규칙 예약을 참조하세요.

    5. (선택 사항) TimeZone에 배포 기간의 시간대를 입력합니다.

  8. 실행 후 결과를 확인합니다.

    CodePipeline의 예시 조건입니다.

성공 시 조건 생성(CLI)

AWS CLI를 사용하여 성공 시 조건을 구성하려면 파이프라인 스테이지 및 작업 생성CodePipeline에서 파이프라인 편집에 설명된 대로 명령을 사용하여 파이프라인을 생성하거나 업데이트합니다.

조건 및 규칙 또는 규칙 구성(CLI)
  • 터미널(Linux, macOS 또는 Unix) 또는 명령 프롬프트(Windows)를 열고 AWS CLI를 사용하여 update-pipeline 명령을 실행함으로써 파이프라인 구조의 실패 조건을 지정합니다. 다음 예제에서는 규칙 이름이 MyDeploymentRuleDeploy라는 이름의 스테이지에 대한 성공 시 조건을 구성합니다.

    { "name": "Deploy", "actions": [ { "name": "Deploy", "actionTypeId": { "category": "Deploy", "owner": "AWS", "provider": "S3", "version": "1" }, "runOrder": 1, "configuration": { "BucketName": "MyBucket", "Extract": "false", "ObjectKey": "object.xml" }, "outputArtifacts": [], "inputArtifacts": [ { "name": "SourceArtifact" } ], "region": "us-east-1", "namespace": "DeployVariables" } ], "onSuccess": { "conditions": [ { "result": "FAIL", "rules": [ { "name": "MyAlarmRule", "ruleTypeId": { "category": "Rule", "owner": "AWS", "provider": "CloudWatchAlarm", "version": "1" }, "configuration": { "AlarmName": "CWAlarm", "WaitTime": "1" }, "inputArtifacts": [], "region": "us-east-1" } ] } ] } }

    성공 조건 구성에 대한 자세한 내용은 CodePipeline API 참조SuccessConditions을 참조하세요.

성공 시 조건 생성(CFN)

AWS CloudFormation을 사용하여 성공 시 조건을 구성하려면 OnSuccess 파라미터를 사용합니다. 성공 시 스테이지는 규칙을 실행하고 결과를 수행합니다.

OnSuccess: Result: ROLLBACK
  • 다음 조각과 같이 템플릿을 업데이트합니다. 다음 예제에서는 MyDeploymentWindowRule이라는 규칙으로 OnSuccess 조건을 구성합니다.

    name: Deploy actions: - name: Deploy actionTypeId: category: Deploy owner: AWS provider: S3 version: '1' runOrder: 1 configuration: BucketName: MyBucket Extract: 'false' ObjectKey: object.xml outputArtifacts: [] inputArtifacts: - name: SourceArtifact region: us-east-1 namespace: DeployVariables onSuccess: conditions: - result: FAIL rules: - name: MyMonitorRule ruleTypeId: category: Rule owner: AWS provider: CloudWatchAlarm version: '1' configuration: AlarmName: CWAlarm WaitTime: '1' inputArtifacts: [] region: us-east-1

    스테이지 롤백의 실패 조건 구성에 대한 자세한 내용은 AWS CloudFormation 사용 설명서에서 StageDeclaration 아래의 OnFailure를 참조하세요.

스테이지 조건 삭제

파이프라인에 대해 구성된 스테이지 조건을 삭제할 수 있습니다.

스테이지 조건을 삭제하려면
  1. AWS Management Console에 로그인하여 http://console.aws.amazon.com/codesuite/codepipeline/home에서 CodePipeline 콘솔을 여세요.

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

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

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

  4. 편집 페이지에서 편집하려는 조건에 대해 스테이지 편집을 선택합니다.

  5. 삭제하려는 조건 옆에 있는 조건 삭제를 선택합니다.

스테이지 조건 재정의

파이프라인에 대해 구성된 스테이지 조건을 재정의할 수 있습니다. 콘솔에서 스테이지와 규칙이 실행 중일 때 스테이지 조건을 재정의하도록 선택할 수 있습니다. 그러면 스테이지가 실행됩니다.

스테이지 조건을 재정의하려면
  1. 이 예제에서는 파이프라인 단계가 조건과 함께 실행됩니다. 재정의 버튼이 활성화됩니다.

    CodePipeline의 예시 조건입니다.
  2. 재정의하려는 조건 옆에 있는 재정의를 선택합니다.

    CodePipeline의 예시 조건입니다.
  3. 세부 정보를 검토하려면 검토를 선택합니다. 다음 예제의 세부 정보는 조건에 대해 구성된 결과가 실패이며 재정의되었음을 보여줍니다. 규칙 상태는 재정의로 인해 중단됨 상태입니다.

    CodePipeline의 재정의 조건을 보여주는 조건 세부 정보 페이지의 예입니다.