

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

# 빌드 출력을 S3 버킷에서 호스팅하여 정적 웹사이트 생성
<a name="sample-disable-artifact-encryption"></a>

빌드의 아티팩트 암호화를 비활성화할 수 있습니다. 이렇게 하면 웹 사이트를 호스팅하도록 구성된 위치에 아티팩트를 게시할 수 있습니다. (암호화된 아티팩트는 게시할 수 없습니다.) 이 샘플에서는 Webhook를 사용해 빌드를 트리거한 후 웹사이트를 구성하는 S3 버킷에 아티팩트를 게시하는 방법에 대해서 설명합니다.

1.  [정적 웹사이트 설정](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html)의 지침을 따라 웹사이트처럼 작동하도록 S3 버킷을 구성합니다.

1. [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) AWS CodeBuild 콘솔을 엽니다.

1.  CodeBuild 정보 페이지가 나타나면 **빌드 프로젝트 생성**을 선택합니다. 그렇지 않을 경우, 탐색 창에서 **빌드**를 확장한 후 **빌드 프로젝트**를 선택하고 **빌드 프로젝트 생성**을 선택합니다.

1. **프로젝트 이름**에 이 빌드 프로젝트의 이름을 입력합니다. 빌드 프로젝트 이름은 각 AWS 계정에서 고유해야 합니다. 또한 선택에 따라 빌드 프로젝트에 대한 설명을 포함하여 다른 사용자가 이 프로젝트의 용도를 이해하도록 도울 수 있습니다.

1.  **소스**의 **소스 공급자**에서 **GitHub**를 선택합니다. GitHub와 연결(다시 연결)하는 지침을 따르고 **승인**을 선택합니다.

    **Webhook**에서 **코드 변경이 이 리포지토리로 푸시될 때마다 다시 빌드**를 선택합니다. 이 확인란은 **내 GitHub 계정의 리포지토리**를 선택한 경우에만 선택할 수 있습니다.  
![\[웹후크 구성입니다.\]](http://docs.aws.amazon.com/ko_kr/codebuild/latest/userguide/images/webhook.png)

1. **환경**에서 다음과 같이 합니다.

   [**Environment image**]에서 다음 중 하나를 수행합니다.
   + 에서 관리하는 도커 이미지를 사용하려면 **관리형 이미지를** AWS CodeBuild선택한 다음 **운영 체제**, **런타임**, **이미지**(Image) 및 **이미지 버전**에서 선택합니다. 사용 가능한 경우 **환경 유형**에서 항목을 선택합니다.
   + 다른 도커 이미지를 사용하려면 **사용자 지정 이미지**를 선택합니다. **환경 유형**에서 **ARM**, **Linux**, **Linux GPU** 또는 **Windows**를 선택합니다. **Other registry(다른 레지스트리)**를 선택한 경우 **External registry URL(외부 레지스트리 URL)**에 Docker Hub의 도커 이미지 이름 및 태그를 `docker repository/docker image name` 형식으로 입력합니다. **Amazon ECR**을 선택하는 경우 **Amazon ECR 리포지토리**와 **Amazon ECR 이미지를** 사용하여 AWS 계정에서 도커 이미지를 선택합니다.
   + 프라이빗 도커 이미지를 사용하려면 **사용자 지정 이미지**를 선택합니다. **환경 유형**에서 **ARM**, **Linux**, **Linux GPU** 또는 **Windows**를 선택합니다. **Image registry(이미지 레지스트리)**에서 **Other registry(다른 레지스트리)**를 선택한 다음 프라이빗 도커 이미지에 대한 보안 인증 정보의 ARN을 입력합니다. 보안 인증은 Secrets Manager에서 생성됩니다. 자세한 내용은 AWS Secrets Manager사용 설명서의 [AWS Secrets Manager 이란?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) 섹션을 참조하세요.**

1. **서비스 역할**에서 다음 중 하나를 수행합니다.
   + CodeBuild 서비스 역할이 없는 경우 **새 서비스 역할**을 선택합니다. **역할 이름**에 새 역할의 이름을 입력합니다.
   + CodeBuild 서비스 역할이 있는 경우 **기존 서비스 역할**을 선택합니다. **역할 ARN**에서 서비스 역할을 선택합니다.
**참고**  
콘솔을 사용하여 빌드 프로젝트를 생성하거나 업데이트하는 경우, 이와 동시에 CodeBuild 서비스 역할을 만들 수 있습니다. 기본적으로 역할은 해당 빌드 프로젝트에서만 작동합니다. 콘솔을 사용하여 이 서비스 역할을 다른 빌드 프로젝트와 연결하는 경우 다른 빌드 프로젝트에서 작동하도록 역할이 업데이트됩니다. 하나의 서비스 역할은 최대 10개의 빌드 프로젝트에서 작동할 수 있습니다.

1. **Buildspec**에서 다음 중 하나를 수행합니다.
   + **buildspec 파일 사용**을 선택하여 소스 코드 루트 디렉터리에 있는 buildspec.yml 파일을 사용합니다.
   + **빌드 명령 삽입**을 선택하여 콘솔에서 빌드 명령을 삽입합니다.

   자세한 내용은 [buildspec 참조](build-spec-ref.md) 단원을 참조하십시오.

1.  **아티팩트**의 **유형**에서 **Amazon S3**를 선택하여 빌드 출력을 S3 버킷에 저장합니다.

1.  **버킷 이름**에서 1단계에서 웹사이트처럼 작동하도록 구성한 S3 버킷의 이름을 선택합니다.

1.  **환경**에서 **빌드 명령 삽입**을 선택한 경우 **출력 파일**에 대해 출력 버킷에 넣으려는 빌드의 파일 위치를 입력합니다. 위치가 두 개 이상인 경우 쉼표를 사용하여 각 위치를 구분합니다(예: **appspec.yml, target/my-app.jar**). 자세한 내용은 [Artifacts reference-key in the buildspec file](build-spec-ref.md#artifacts-build-spec) 단원을 참조하십시오.

1.  **아티팩트 암호화 비활성화**를 선택합니다.

1. **추가 구성**을 확장하고 적절한 옵션을 선택합니다.

1. **빌드 프로젝트 생성**을 선택합니다. 빌드 프로젝트 페이지의 **빌드 기록**에서 **빌드 시작**을 선택하여 빌드를 실행합니다.

1.  (선택 사항) *Amazon S3 Developer Guide*에 [예제: Amazon CloudFront를 이용해 웹 사이트 속도 높이기](https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-cloudfront-walkthrough.html)의 지침을 따르세요.