빌드 출력을 S3 버킷에서 호스팅하여 정적 웹사이트 생성 - AWS CodeBuild

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

빌드 출력을 S3 버킷에서 호스팅하여 정적 웹사이트 생성

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

  1. 정적 웹사이트 설정의 지침을 따라 웹사이트처럼 작동하도록 S3 버킷을 구성합니다.

  2. https://console.aws.amazon.com/codesuite/codebuild/home에서 AWS CodeBuild 콘솔을 엽니다.

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

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

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

    Webhook에서 코드 변경이 이 리포지토리로 푸시될 때마다 다시 빌드를 선택합니다. 이 확인란은 내 GitHub 계정의 리포지토리를 선택한 경우에만 선택할 수 있습니다.

    웹후크 구성입니다.
  6. 환경에서 다음과 같이 합니다.

    [Environment image]에서 다음 중 하나를 수행합니다.

    • AWS CodeBuild가 관리하는 도커 이미지를 사용하려면 Managed 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이란? 섹션을 참조하세요.

  7. 서비스 역할에서 다음 중 하나를 수행합니다.

    • CodeBuild 서비스 역할이 없는 경우 새 서비스 역할을 선택합니다. 역할 이름에 새 역할의 이름을 입력합니다.

    • CodeBuild 서비스 역할이 있는 경우 기존 서비스 역할을 선택합니다. 역할 ARN에서 서비스 역할을 선택합니다.

    참고

    콘솔을 사용하여 빌드 프로젝트를 생성하거나 업데이트하는 경우, 이와 동시에 CodeBuild 서비스 역할을 만들 수 있습니다. 기본적으로 역할은 해당 빌드 프로젝트에서만 작동합니다. 콘솔을 사용하여 이 서비스 역할을 다른 빌드 프로젝트와 연결하는 경우 다른 빌드 프로젝트에서 작동하도록 역할이 업데이트됩니다. 하나의 서비스 역할은 최대 10개의 빌드 프로젝트에서 작동할 수 있습니다.

  8. Buildspec에서 다음 중 하나를 수행합니다.

    • buildspec 파일 사용을 선택하여 소스 코드 루트 디렉터리에 있는 buildspec.yml 파일을 사용합니다.

    • 빌드 명령 삽입을 선택하여 콘솔에서 빌드 명령을 삽입합니다.

    자세한 내용은 buildspec 참조을 참조하세요.

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

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

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

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

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

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

  15. (선택 사항) Amazon S3 Developer Guide예제: Amazon CloudFront를 이용해 웹 사이트 속도 높이기의 지침을 따르세요.