

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

# CodeBuild를 사용하는 파이프라인 생성(CodePipeline 콘솔)
<a name="how-to-create-pipeline-console"></a>

다음 절차에 따라 CodeBuild를 사용하여 소스 코드를 빌드하고 배포하는 파이프라인을 생성하세요.

소스 코드만 테스트하는 파이프라인을 생성하려면:
+ 다음 절차를 사용하여 파이프라인을 생성한 다음, 파이프라인에서 빌드 및 베타 단계를 삭제합니다. 그런 다음, 이 주제의 [CodeBuild 테스트 작업을 파이프라인에 추가(CodePipeline 콘솔)](how-to-create-pipeline-add-test.md) 절차를 사용하여 CodeBuild를 사용하는 테스트 작업을 파이프라인에 추가합니다.
+ 이 주제의 다른 절차 중 하나를 사용하여 파이프라인을 생성한 다음, 이 주제의 [CodeBuild 테스트 작업을 파이프라인에 추가(CodePipeline 콘솔)](how-to-create-pipeline-add-test.md) 절차를 사용하여 CodeBuild를 사용하는 테스트 작업을 파이프라인에 추가합니다.

**CodePipeline의 파이프라인 생성 마법사를 사용하여 CodeBuild를 사용하는 파이프라인을 생성하려면**

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) AWS CodePipeline 콘솔을 엽니다.

1.  AWS 리전 선택기에서 빌드 프로젝트 AWS 리소스가 있는 AWS 리전을 선택합니다. CodeBuild가 지원되는 AWS 리전이어야 합니다. 자세한 내용은 *Amazon Web Services 일반 참조*의 [AWS CodeBuild](https://docs.aws.amazon.com/general/latest/gr/rande.html#codebuild_region) 섹션을 참조하세요.

1. 파이프라인 생성. CodePipeline 정보 페이지가 표시되면 **파이프라인 생성**을 선택합니다. **파이프라인** 페이지가 표시되면 **파이프라인 생성**을 선택합니다.

1. **1단계: 파이프라인 설정 선택** 페이지의 **파이프라인 이름**에 파이프라인 이름(예: **CodeBuildDemoPipeline**)을 입력합니다. 다른 이름을 선택하는 경우 이 절차 전체에서 해당 이름을 사용해야 합니다.

1. ** 역할 이름**의 경우 다음 중 하나를 수행합니다.

   **새 서비스 역할을** 선택하고 **역할 이름에** 새 서비스 역할의 이름을 입력합니다.

   **기존 서비스 역할**을 선택한 다음, 이 주제의 필수 조건의 일부로 생성하거나 식별한 CodePipeline 서비스 역할을 선택합니다.

1. **아티팩트 스토어**에서 다음 중 하나를 수행합니다.
   + 파이프라인에 대해 선택한 AWS 리전의 파이프라인에 대해 기본값으로 지정된 S3 아티팩트 버킷과 같은 기본 아티팩트 스토어를 사용하려면 기본 **위치를** 선택합니다.
   + 파이프라인과 동일한 AWS 리전에 S3 아티팩트 버킷과 같이 생성한 기존 아티팩트 스토어가 이미 있는 경우 **사용자 지정 위치를** 선택합니다.
**참고**  
이는 파이프라인 소스 코드에 대한 소스 버킷이 아닙니다. 이 파이프라인은 아티팩트 스토어입니다. 파이프라인과 동일한 AWS 리전의 각 파이프라인에는 S3 버킷과 같은 별도의 아티팩트 스토어가 필요합니다.

1. **다음**을 선택합니다.

1. **2단계: 소스 단계 추가** 페이지에서 **소스 공급자**에 대해 다음 중 하나를 수행하세요.
   + 소스 코드가 S3 버킷에 저장되어 있는 경우 **Amazon S3**를 선택합니다. **버킷**에서 소스 코드를 포함하는 S3 버킷을 선택합니다. **S3 객체 키**의 경우 소스 코드가 들어 있는 파일의 이름(예: `{{file-name}}.zip`)을 입력합니다. **다음**을 선택합니다.
   + 소스 코드가 AWS CodeCommit 리포지토리에 저장된 경우 **CodeCommit**을 선택합니다. **리포지토리 이름**의 경우 소스 코드가 포함된 리포지토리의 이름을 선택합니다. [**Branch name**]에서 빌드하려는 소스 코드의 버전이 포함된 브랜치 이름을 선택합니다. **다음**을 선택합니다.
   + 소스 코드가 GitHub 리포지토리에 저장되어 있는 경우 **GitHub**를 선택합니다. **GitHub에 연결**을 선택하고 지침에 따라 GitHub에서 인증을 받습니다. **리포지토리**의 경우 소스 코드가 포함된 리포지토리의 이름을 선택합니다. [**Branch**]에서 빌드하려는 소스 코드의 버전이 포함된 브랜치 이름을 선택합니다.

   **다음**을 선택합니다.

1. **3단계: 빌드 단계 추가** 페이지에서 **빌드 공급자**에 대해 **CodeBuild**를 선택합니다.

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

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

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

1. **4단계: 배포 단계 추가** 페이지에서 다음 중 하나를 수행합니다.
   + 빌드 출력 아티팩트를 배포하지 않으려면 **건너뛰기**를 선택하고 메시지가 표시되면 이 옵션을 확인합니다.
   + 빌드 출력 아티팩트를 배포하려는 경우 **배포 공급자**에 대해 배포 공급자를 선택한 다음, 메시지가 표시되면 설정을 지정합니다.

   **다음**을 선택합니다.

1. **검토** 페이지에서 선택 사항을 검토한 다음, **파이프라인 생성**을 선택합니다.

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

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** 명령을 실행하여 버킷의 이름을 가져올 수 있습니다. 여기서 {{my-pipeline-name}}은 파이프라인의 표시 이름입니다.

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

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

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

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

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