

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

# CodeBuild 빌드 작업을 파이프라인에 추가(CodePipeline 콘솔)
<a name="how-to-create-pipeline-add"></a>

1. 다음을 사용하여 AWS Management Console 에 로그인합니다.
   +  AWS 루트 계정. 이는 권장하지 않습니다. 자세한 내용은 사용 설명서의 [계정 루트 사용자](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)를 참조하세요.**
   +  AWS 계정의 관리자 사용자입니다. 자세한 내용은 사용 *설명서*의 [첫 번째 AWS 계정 루트 사용자 및 그룹 생성을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started_create-admin-group.html).
   +  AWS 계정에서 다음과 같은 최소 작업 세트를 수행할 수 있는 권한이 있는 사용자:

     ```
     codepipeline:*
     iam:ListRoles
     iam:PassRole
     s3:CreateBucket
     s3:GetBucketPolicy
     s3:GetObject
     s3:ListAllMyBuckets
     s3:ListBucket
     s3:PutBucketPolicy
     codecommit:ListBranches
     codecommit:ListRepositories
     codedeploy:GetApplication
     codedeploy:GetDeploymentGroup
     codedeploy:ListApplications
     codedeploy:ListDeploymentGroups
     elasticbeanstalk:DescribeApplications
     elasticbeanstalk:DescribeEnvironments
     lambda:GetFunctionConfiguration
     lambda:ListFunctions
     opsworks:DescribeStacks
     opsworks:DescribeApps
     opsworks:DescribeLayers
     ```

1. [https://console.aws.amazon.com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home)에서 CodePipeline 콘솔을 엽니다.

1.  AWS 리전 선택기에서 파이프라인이 위치한 AWS 리전을 선택합니다. 이는 CodeBuild가 지원되는 리전이어야 합니다. 자세한 내용은 *Amazon Web Services 일반 참조*의 [CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region)를 참조하세요.

1. **파이프라인** 페이지에서 파이프라인의 이름을 선택합니다.

1. 파이프라인 세부 정보 페이지의 **소스** 작업에서 도구 설명을 선택합니다. **출력 아티팩트**(예: **MyApp**)의 값을 적어 놓습니다.
**참고**  
이 절차에서는 **소스**와 **베타** 단계 사이의 빌드 단계에 빌드 작업을 추가하는 방법을 보여 줍니다. 빌드 작업을 다른 위치에 추가하려면 빌드 작업을 추가할 위치 바로 앞에 있는 작업의 도구 설명을 선택하고 **출력 아티팩트** 값을 기록해 둡니다.

1. **편집**을 선택합니다.

1. **소스** 단계와 **베타** 단계 사이에서 **단계 추가**를 선택합니다.
**참고**  
이 절차에서는 **소스**와 **베타** 단계 사이의 빌드 단계를 파이프라인에 추가하는 방법을 보여줍니다. 기존 단계에 빌드 작업을 추가하려면 단계에서 **단계 편집**을 선택한 다음, 이 절차의 8단계로 건너뜁니다. 빌드 단계를 다른 위치에 추가하려면 원하는 위치에서 **단계 추가**를 선택합니다.

     
![\[소스와 베타 단계 사이의 빌드 단계를 파이프라인에 추가하는 방법입니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/create-stage.png)

   

1. **단계 이름**에 빌드 단계 이름(예: **Build**)을 입력합니다. 다른 이름을 선택하는 경우 이 절차 전체에서 해당 이름을 사용합니다.

1. 선택한 단계 내에서 **작업 추가**를 선택합니다.
**참고**  
이 절차에서는 빌드 단계 내에 빌드 작업을 추가하는 방법을 보여줍니다. 빌드 작업을 다른 위치에 추가하려면 원하는 위치에서 **작업 추가**를 선택합니다. 먼저 빌드 작업을 추가하려는 기존 단계에서 **단계 편집**을 선택해야 할 수 있습니다.

1. **작업 편집**의 **작업 이름**에 작업 이름을 입력합니다(예: **CodeBuild**). 다른 이름을 선택하는 경우 이 절차 전체에서 해당 이름을 사용합니다.

1. **작업 공급자**의 경우 **CodeBuild**를 선택합니다.

1. 사용하려는 빌드 프로젝트가 이미 있는 경우 **프로젝트 이름**에서 빌드 프로젝트의 이름을 선택하고 이 절차의 다음 단계로 건너뜁니다.

   새 CodeBuild 빌드 프로젝트를 생성해야 하는 경우 [빌드 프로젝트 만들기(콘솔)](create-project.md#create-project-console)의 지침을 따르고 이 절차로 돌아갑니다.

   기존 빌드 프로젝트를 선택하는 경우 CodePipeline에서 재정의되더라도 빌드 출력 아티팩트 설정이 이미 정의되어 있어야 합니다. 자세한 내용은 [빌드 프로젝트 만들기(콘솔)](create-project.md#create-project-console) 또는 [빌드 프로젝트 설정 변경(콘솔)](change-project.md#change-project-console)의 **아티팩트** 설명을 참조하세요.
**중요**  
CodeBuild 프로젝트에 대해 webhook를 활성화하고 해당 프로젝트가 CodePipeline의 빌드 단계로 사용되는 경우 각 커밋에 대해 두 개의 동일한 빌드가 생성됩니다. 하나의 빌드는 webhook를 통해 트리거되고 다른 하나는 CodePipeline을 통해 트리거됩니다. 빌드 기준으로 요금이 청구되므로 두 빌드 모두에 대해 요금이 청구됩니다. 따라서 CodePipeline을 사용하는 경우 CodeBuild에서 webhook를 비활성화하는 것이 좋습니다. CodeBuild 콘솔에서 **Webhook** 상자를 선택 취소합니다. 자세한 내용은 [빌드 프로젝트 설정 변경(콘솔)](change-project.md#change-project-console) 섹션을 참조하세요.

1. **입력 아티팩트**에서 이 절차의 앞에서 적어 둔 출력 아티팩트를 선택합니다.

1. **출력 아티팩트**의 경우 출력 아티팩트의 이름(예: **MyAppBuild**)을 입력합니다.

1. **작업 추가**를 선택합니다.

1. **저장**을 선택한 다음, **저장**을 선택하여 변경 사항을 파이프라인에 저장합니다.

1. **변경 사항 릴리스**를 선택합니다.

1. 파이프라인이 성공적으로 실행되면 빌드 출력 아티팩트를 가져올 수 있습니다. CodePipeline 콘솔에 파이프라인이 표시된 상태에서 **빌드** 작업에서 도구 설명을 선택합니다. **출력 아티팩트**(예: **MyAppBuild**)의 값을 적어 놓습니다.
**참고**  
CodeBuild 콘솔의 빌드 세부 정보 페이지에서 **빌드 아티팩트** 링크를 선택하여 빌드 출력 아티팩트를 가져올 수도 있습니다. 이 페이지로 이동하려면 [빌드 세부 정보 보기(콘솔)](view-build-details.md#view-build-details-console)을 참조하고 이 절차의 31단계로 건너뛰세요.

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

1. 버킷 목록에서 파이프라인에서 사용하는 버킷을 엽니다. 버킷의 이름은 `codepipeline-region-ID-random-number` 형식을 따릅니다. AWS CLI 를 사용하여 CodePipeline **get-pipeline** 명령을 실행하여 버킷의 이름을 가져올 수 있습니다.

   ```
   aws codepipeline get-pipeline --name my-pipeline-name
   ```

    출력에서 `pipeline` 객체는 `artifactStore` 객체를 포함하며, 이 객체에는 버킷 이름의 `location` 값이 들어 있습니다.

1. 파이프라인의 이름과 일치하는 폴더를 열고(파이프라인의 이름 길이에 따라 폴더 이름이 잘릴 수 있음) 이 절차의 앞에서 적어 둔 **출력 아티팩트** 값과 일치하는 폴더를 엽니다.

1. 파일 내용의 압축을 풉니다. 해당 폴더에 파일이 여러 개 있는 경우 가장 최근의 **마지막 수정 시간** 타임스탬프를 사용하여 파일의 내용을 추출합니다. (시스템의 ZIP 유틸리티에서 작업할 수 있도록 파일에 `.zip` 확장자를 지정해야 할 수도 있습니다.) 빌드 출력 아티팩트는 파일의 추출된 내용에 있습니다.

1. CodePipeline에 빌드 출력 아티팩트를 배포하도록 지시한 경우 배포 공급자의 지침을 사용하여 배포 대상의 빌드 출력 아티팩트로 이동합니다.