

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

# CodePipeline에서 파이프라인 시작
<a name="pipelines-about-starting"></a>

각 파이프라인 실행은 다른 트리거를 기반으로 시작할 수 있습니다. 파이프라인 시작 방식에 따라 각 파이프라인 실행에 다른 유형의 트리거가 있을 수 있습니다. 각 실행의 트리거 유형은 파이프라인의 실행 기록에 표시됩니다. 트리거 유형은 다음과 같이 소스 작업 제공자에 따라 달라질 수 있습니다.

**참고**  
소스 작업당 트리거를 한 개 이상 지정할 수 없습니다.
+ **파이프라인 생성**: 파이프라인이 생성되면 파이프라인 실행이 자동으로 시작됩니다. 이는 **실행 내역**의 `CreatePipeline` 트리거 유형입니다.
+ **수정된 객체의 변경 사항**: 이 범주는 **실행 내역**의 `PutActionRevision` 트리거 유형을 나타냅니다.
+ **브랜치에서의 변경 감지 및 코드 푸시에 대한 커밋**: 이 범주는 **실행 내역**의 `CloudWatchEvent` 트리거 유형을 나타냅니다. 소스 리포지토리의 소스 커밋 및 브랜치에 대한 변경이 감지되면 파이프라인이 시작됩니다. 이 트리거 유형은 자동 변경 감지를 사용합니다. 이 트리거 유형을 사용하는 소스 작업 제공자는 S3와 CodeCommit입니다. 이 유형은 파이프라인을 시작하는 일정에도 사용됩니다. [일정에 따라 파이프라인 시작](pipelines-trigger-source-schedule.md)을(를) 참조하세요.
+ **소스 변경에 대한 폴링**: 이 카테고리는 **실행 내역**의 `PollForSourceChanges` 트리거 유형을 나타냅니다. 폴링을 통한 소스 리포지토리의 소스 커밋 및 브랜치에 대한 변경이 감지되면 파이프라인이 시작됩니다. 이 트리거 유형은 권장되지 않으므로 자동 변경 감지를 사용하도록 마이그레이션해야 합니다. 이 트리거 유형을 사용하는 소스 작업 제공자는 S3와 CodeCommit입니다.
+ **타사 소스에 대한 Webhook 이벤트**: 이 카테고리는 **실행 내역**의 `Webhook` 트리거 유형을 나타냅니다. Webhook 이벤트로 변경이 감지되면 파이프라인이 시작됩니다. 이 트리거 유형은 자동 변경 감지를 사용합니다. 이 트리거 유형을 사용하는 소스 작업 제공자는 코드 푸시를 위해 구성된 연결(Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com, 및 GitLab 자체 관리형)입니다.
+ **타사 소스에 대한 WebhookV2 이벤트**: 이 카테고리는 **실행 내역**의 `WebhookV2` 트리거 유형을 나타냅니다. 이 유형은 파이프라인 정의에 정의된 트리거를 기반으로 트리거되는 실행에 사용됩니다. 지정된 Git 태그가 있는 릴리스가 감지되면 파이프라인이 시작됩니다. Git 태그를 사용하여 다른 리포지토리 사용자가 중요성을 파악할 수 있도록 커밋을 이름이나 다른 식별자로 표시할 수 있습니다. 또한 Git 태그를 사용하여 리포지토리의 기록에서 특정 커밋을 식별할 수 있습니다. 이 트리거 유형은 자동 변경 감지를 비활성화합니다. 이 트리거 유형을 사용하는 소스 작업 제공자는 Git 태그를 위해 구성된 연결(Bitbucket Cloud, GitHub, GitHub Enterprise Server 및 GitLab.com)입니다.
+ **파이프라인 수동 시작**: 이 범주는 **실행 내역**의 `StartPipelineExecution` 트리거 유형을 나타냅니다. 콘솔 또는 AWS CLI 를 사용하여 파이프라인을 수동으로 시작할 수 있습니다. 자세한 내용은 [수동으로 파이프라인 시작](pipelines-rerun-manually.md) 단원을 참조하세요.
+ **RollbackStage**: 이 범주는 **실행 내역**의 `RollbackStage` 트리거 유형을 나타냅니다. 콘솔 또는를 사용하여 스테이지를 수동 또는 자동으로 롤백 AWS CLI 할 수 있습니다. 자세한 내용은 [스테이지 롤백 구성](stage-rollback.md) 단원을 참조하세요.

자동화된 변경 감지 트리거 유형을 사용하는 소스 작업을 파이프라인에 추가하면 작업이 추가 리소스와 함께 작동합니다. 변경 감지를 위한 이러한 추가 리소스로 인해 각 소스 작업을 생성하는 방법은 별도의 섹션에 자세히 설명되어 있습니다. 자동화된 변경 감지에 필요한 각 소스 공급자와 변경 감지 방법에 대한 자세한 내용은 [소스 작업 및 변경 감지 방법](change-detection-methods.md) 섹션을 참조하세요.

**Topics**
+ [

# 수동으로 파이프라인 시작
](pipelines-rerun-manually.md)
+ [

# 일정에 따라 파이프라인 시작
](pipelines-trigger-source-schedule.md)
+ [

# 소스 개정 재정의로 파이프라인 시작
](pipelines-trigger-source-overrides.md)

# 수동으로 파이프라인 시작
<a name="pipelines-rerun-manually"></a>

기본적으로 파이프라인은 소스 리포지토리에서 생성된 후 변경이 이루어질 때마다 자동으로 시작됩니다. 하지만 파이프라인을 통해 한 번 더 최신 개정을 다시 실행해야 할 수 있습니다. CodePipeline 콘솔이나 AWS CLI 및 **start-pipeline-execution** 명령을 사용하여 파이프라인을 통해 최신 개정을 수동으로 다시 실행할 수 있습니다.

**Topics**
+ [

## 수동으로 파이프라인 시작(콘솔)
](#pipelines-rerun-manually-console)
+ [

## 수동으로 파이프라인 시작(CLI)
](#pipelines-rerun-manually-cli)

## 수동으로 파이프라인 시작(콘솔)
<a name="pipelines-rerun-manually-console"></a>

**파이프라인을 수동으로 시작하고 파이프라인을 통해 가장 최근의 개정을 실행하려면**

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

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

1. 파이프라인 세부 정보 페이지에서 **변경 사항 릴리스**를 선택합니다. 파이프라인이 파라미터(파이프라인 변수)를 전달하도록 구성된 경우 **변경 사항 릴리스**를 선택하면 **변경 사항 릴리스** 창이 열립니다. **파이프라인 변수**의 파이프라인 수준에서 필드 또는 변수에 대한 필드에 이 파이프라인 실행에 전달하려는 값을 하나 이상 입력합니다. 자세한 내용은 [변수 참조](reference-variables.md) 단원을 참조하십시오.

   이렇게 하면 소스 작업에 지정된 각 소스 위치에서 사용 가능한 가장 최근의 개정이 파이프라인을 통해 시작됩니다.

## 수동으로 파이프라인 시작(CLI)
<a name="pipelines-rerun-manually-cli"></a>

**파이프라인을 수동으로 시작하고 파이프라인을 통해 가장 최근의 아티팩트 버전을 실행하려면**

1. 터미널(Linux, macOS 또는 Unix) 또는 명령 프롬프트(Windows)를 열고 AWS CLI 를 사용하여 시작하려는 파이프라인의 이름을 지정하고 **start-pipeline-execution** 명령을 실행합니다. 예를 들어 *MyFirstPipeline*이라는 파이프라인을 통해 마지막 변경 사항 실행을 시작하려면 다음과 같이 합니다.

   ```
   aws codepipeline start-pipeline-execution --name MyFirstPipeline
   ```

   파이프라인 수준에서 변수가 구성된 파이프라인을 시작하려면 **start-pipeline-execution** 명령을 선택적 **--variables** 인수와 함께 사용하여 파이프라인을 시작하고 실행에 사용할 변수를 추가합니다. 예를 들어, 값이 `1`인 `var1` 변수를 추가하려면 다음 명령을 사용하세요.

   ```
   aws codepipeline start-pipeline-execution --name MyFirstPipeline --variables name=var1,value=1 
   ```

1. 성공을 확인하려면 반환된 객체를 봅니다. 이 명령은 다음과 같이 실행 ID 객체를 반환합니다.

   ```
   {
       "pipelineExecutionId": "c53dbd42-This-Is-An-Example"
   }
   ```
**참고**  
파이프라인을 시작했으면 CodePipeline 콘솔에서 진행 상황을 모니터링하거나 **get-pipeline-state** 명령을 실행합니다. 자세한 내용은 [파이프라인 보기(콘솔)](pipelines-view-console.md) 및 [파이프라인 세부 정보 및 이력 보기(CLI)](pipelines-view-cli.md) 섹션을 참조하세요.

# 일정에 따라 파이프라인 시작
<a name="pipelines-trigger-source-schedule"></a>

일정에 따라 파이프라인을 시작하도록 EventBridge의 규칙을 설정할 수 있습니다.

## 파이프라인 시작을 예약하는 EventBridge 규칙 생성(콘솔)
<a name="pipelines-trigger-source-schedule-console"></a>

**일정이 이벤트 소스인 EventBridge 규칙을 만들려면**

1. [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/)에서 Amazon EventBridge 콘솔을 엽니다.

1. 탐색 창에서 **규칙**을 선택합니다.

1. **규칙 생성**을 선택한 후 **규칙 세부 정보** 아래에서 **일정**을 선택합니다.

1. 고정 비율이나 표현식을 사용하여 일정을 설정합니다. 자세한 내용은 [규칙에 대한 일정 표현식](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html)을 참조하십시오.

1. **대상** 영역에서 **CodePipeline**을 선택합니다.

1. 이 일정에 대한 파이프라인 실행의 파이프라인 ARN을 입력합니다.
**참고**  
콘솔의 **설정**에서 파이프라인 ARN을 찾을 수 있습니다. [파이프라인 ARN 및 서비스 역할 ARN 보기(콘솔)](pipelines-settings-console.md)을(를) 참조하세요.

1. 다음 중 하나를 선택하여 EventBridge에 EventBridge 규칙과 연결된 대상을 호출할 권한을 제공하는 IAM 서비스 역할을 만들거나 지정합니다(이 경우에는 대상이 CodePipeline).
   + **이 특정 리소스에 대한 새 역할 생성**을 선택하여 EventBridge에 파이프라인 실행을 시작할 권한을 부여하는 서비스 역할을 생성합니다.
   + **기존 역할 사용**을 선택하여 EventBridge에 파이프라인 실행을 시작할 권한을 부여하는 서비스 역할을 입력합니다.

1. **세부 정보 구성**을 선택합니다.

1. **규칙 세부 정보 구성** 페이지에서 해당 규칙의 이름과 설명을 입력한 후 **상태**를 선택하여 규칙을 활성화합니다.

1. 규칙이 만족스러우면 **규칙 생성(Create rule)**을 선택하세요.

## 파이프라인 시작을 예약하는 EventBridge 규칙 생성(CLI)
<a name="pipelines-trigger-source-schedule-cli"></a>

 

 AWS CLI 를 사용하여 규칙을 생성하려면 다음을 지정하여 **put-rule** 명령을 호출합니다.
+ 만들려는 규칙을 고유하게 식별하는 이름. 이 이름은 AWS 계정과 연결된 CodePipeline으로 생성하는 모든 파이프라인에서 고유해야 합니다.
+ 해당 규칙의 일정 표현식.

**일정이 이벤트 소스인 EventBridge 규칙을 만들려면**

1. **put-rule** 명령을 호출하고 `--name ` 및 `--schedule-expression` 파라미터를 포함시킵니다.

   예시:

   다음 예제 명령은 **--schedule-expression**을 사용하여 일정에 따라 EventBridge를 필터링하는 `MyRule2`라는 규칙을 만듭니다.

   ```
   aws events put-rule --schedule-expression 'cron(15 10 ? * 6L 2002-2005)' --name MyRule2
   ```

1. CodePipeline을 대상으로 추가하려면 **put-targets** 명령을 호출하고 다음 파라미터를 포함합니다.
   + `--rule` 파라미터는 **put-rule**을 사용하여 생성한 `rule_name`에 사용됩니다.
   + `--targets` 파라미터는 대상 목록에 있는 대상의 목록 `Id` 및 대상 파이프라인의 `ARN`에 사용됩니다.

   다음 예제 명령은 `MyCodeCommitRepoRule`이라는 규칙에 대해 대상 `Id`가 숫자 1로 구성됨을 지정하며, 규칙의 대상 목록에서 1로 대상 1로 표시됩니다. 이 예제 명령은 또한 파이프라인에 대한 예제 `ARN`를 지정합니다. 파이프라인은 리포지토리에서 변경이 발생하면 시작됩니다.

   ```
   aws events put-targets --rule MyCodeCommitRepoRule --targets Id=1,Arn=arn:aws:codepipeline:us-west-2:80398EXAMPLE:TestPipeline
   ```

1. CodePipeline을 사용하여 규칙을 호출하도록 EventBridge에 권한을 부여합니다. 자세한 내용은 [Amazon EventBridge에 대한 리소스 기반 정책 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-resource-based.html)을 참조하세요.

   1. 다음 예제를 사용하여 EventBridge가 서비스 역할을 담당하도록 허용하는 신뢰 정책을 생성합니다. 이름을 `trustpolicyforEB.json`로 지정합니다.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "events.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. 다음 명령을 사용하여 `Role-for-MyRule` 역할을 생성한 후 신뢰 정책에 연결합니다.

      ```
      aws iam create-role --role-name Role-for-MyRule --assume-role-policy-document file://trustpolicyforEB.json
      ```

   1. `MyFirstPipeline`이라는 파이프라인에 대한 이 샘플에 표시된 대로 권한 정책 JSON을 만듭니다. 권한 정책 이름을 `permissionspolicyforEB.json`으로 지정합니다.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "codepipeline:StartPipelineExecution"
                  ],
                  "Resource": [
                      "arn:aws:codepipeline:us-west-2:111122223333:MyFirstPipeline"
                  ]
              }
          ]
      }
      ```

------

   1. 다음 명령을 사용하여 앞에서 생성한 `Role-for-MyRule` 역할에 새로운 `CodePipeline-Permissions-Policy-for-EB` 권한 정책을 연결합니다.

      ```
      aws iam put-role-policy --role-name Role-for-MyRule --policy-name CodePipeline-Permissions-Policy-For-EB --policy-document file://permissionspolicyforCWE.json
      ```

# 소스 개정 재정의로 파이프라인 시작
<a name="pipelines-trigger-source-overrides"></a>

재정의를 사용하여 파이프라인 실행을 위해 제공한 특정 소스 개정 ID로 파이프라인을 시작할 수 있습니다. 예를 들어 CodeCommit 소스의 특정 커밋 ID를 처리하는 파이프라인을 시작하려는 경우 파이프라인을 시작할 때 커밋 ID를 재정의로 추가할 수 있습니다.

**참고**  
입력 변환 항목을 사용하여 소스 재정의를 생성하여 파이프라인 이벤트에 EventBridge의 `revisionValue`를 사용할 수도 있습니다. 여기서 `revisionValue`는 객체 키, 커밋 또는 이미지 ID의 소스 이벤트 변수에서 파생됩니다. 자세한 내용은 [Amazon ECR 소스 작업 및 EventBridge 리소스](create-cwe-ecr-source.md), [이벤트에 대해 활성화된 소스를 사용하여 Amazon S3 소스 작업에 연결](create-S3-source-events.md), 또는 [CodeCommit 소스 작업 및 EventBridge](triggering.md)의 절차에 포함된 입력 변환 항목의 선택적 단계를 참조하세요.

`revisionType`에 대한 소스 개정에는 네 가지 유형이 있습니다.
+ `COMMIT_ID`
+ `IMAGE_DIGEST`
+ `S3_OBJECT_VERSION_ID`
+ `S3_OBJECT_KEY`

**참고**  
`COMMIT_ID` 및 `IMAGE_DIGEST` 유형의 소스 개정의 경우 소스 개정 ID는 모든 분기의 리포지토리 내 모든 컨텐츠에 적용됩니다.

**참고**  
`S3_OBJECT_VERSION_ID`및 `S3_OBJECT_KEY` 유형의 소스 개정의 경우, 두 유형 중 하나를 독립적으로 사용하거나 함께 사용하여 특정 ObjectKey 및 VersionID로 소스를 재정의할 수 있습니다. `S3_OBJECT_KEY`의 경우 구성 파라미터 `AllowOverrideForS3ObjectKey`를 `true`로 설정해야 합니다. S3 소스 구성 파라미터에 대한 자세한 내용은 [구성 파라미터](action-reference-S3.md#action-reference-S3-config) 섹션을 참조하세요.

**Topics**
+ [

## 소스 개정 재정의로 파이프라인 시작(콘솔)
](#pipelines-trigger-source-overrides-console)
+ [

## 소스 개정 재정의(CLI)로 파이프라인 시작
](#pipelines-trigger-source-overrides-cli)

## 소스 개정 재정의로 파이프라인 시작(콘솔)
<a name="pipelines-trigger-source-overrides-console"></a>

**파이프라인을 수동으로 시작하고 파이프라인을 통해 가장 최근의 개정을 실행하려면**

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

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

1. 파이프라인 세부 정보 페이지에서 **변경 사항 릴리스**를 선택합니다. **릴리스 변경**을 선택하면 **릴리스 변경** 창이 열립니다. **소스 개정 재정의**의 경우 화살표를 선택하여 필드를 확장합니다. **소스**에 소스 개정 ID를 입력합니다. 예를 들어 파이프라인에 CodeCommit 소스가 있는 경우 사용하려는 필드에서 커밋 ID를 선택합니다.  
![\[CodePipeline의 재정의 화면 예제입니다.\]](http://docs.aws.amazon.com/ko_kr/codepipeline/latest/userguide/images/overrides.png)

## 소스 개정 재정의(CLI)로 파이프라인 시작
<a name="pipelines-trigger-source-overrides-cli"></a>

**파이프라인을 수동으로 시작하고 파이프라인을 통해 아티팩트의 지정된 소스 개정 ID를 실행하려면**

1. 터미널(Linux, macOS 또는 Unix) 또는 명령 프롬프트(Windows)를 열고 AWS CLI 를 사용하여 시작하려는 파이프라인의 이름을 지정하고 **start-pipeline-execution** 명령을 실행합니다. 또한 **--source-revisions** 인수를 사용하여 소스 개정 ID를 제공할 수도 있습니다. 소스 개정은 actionName, revisionType, revisionValue로 구성됩니다. 유효한 revisionType 값은 `COMMIT_ID | IMAGE_DIGEST | S3_OBJECT_VERSION_ID | S3_OBJECT_KEY`입니다.

   다음 예제에서 이름이 **codecommit-pipeline**인 파이프라인을 통해 지정된 변경 사항의 실행을 시작하려면 다음 명령을 사용하여 소스 작업 이름을 Source로, 개정 유형을 `COMMIT_ID`로, 커밋 ID를 `78a25c18755ccac3f2a9eec099dEXAMPLE`로 지정합니다.

   ```
   aws codepipeline start-pipeline-execution --name codecommit-pipeline --source-revisions actionName=Source,revisionType=COMMIT_ID,revisionValue=78a25c18755ccac3f2a9eec099dEXAMPLE --region us-west-1
   ```

1. 성공을 확인하려면 반환된 객체를 봅니다. 이 명령은 다음과 같이 실행 ID 객체를 반환합니다.

   ```
   {
       "pipelineExecutionId": "c53dbd42-This-Is-An-Example"
   }
   ```
**참고**  
파이프라인을 시작했으면 CodePipeline 콘솔에서 진행 상황을 모니터링하거나 **get-pipeline-state** 명령을 실행합니다. 자세한 내용은 [파이프라인 보기(콘솔)](pipelines-view-console.md) 및 [파이프라인 세부 정보 및 이력 보기(CLI)](pipelines-view-cli.md) 섹션을 참조하세요.