'Bitbucket 풀 리퀘스트 및 웹후크 필터' 샘플을 실행하십시오. CodeBuild - AWS CodeBuild

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

'Bitbucket 풀 리퀘스트 및 웹후크 필터' 샘플을 실행하십시오. CodeBuild

AWS CodeBuild 소스 리포지토리가 Bitbucket인 경우 웹후크를 지원합니다. 즉, 소스 코드가 Bitbucket 리포지토리에 저장되어 있는 CodeBuild 빌드 프로젝트의 경우 코드 변경 사항이 리포지토리로 푸시될 때마다 웹후크를 사용하여 소스 코드를 다시 빌드할 수 있습니다. 자세한 내용은 Bitbucket Webhook 이벤트 단원을 참조하십시오.

이 샘플에서는 Bitbucket 리포지토리를 사용하여 풀 요청을 생성하는 방법을 보여줍니다. 또한 Bitbucket 웹후크를 CodeBuild 트리거하여 프로젝트 빌드를 만드는 방법도 보여줍니다.

참고

Webhook를 사용할 때 사용자가 예상치 못한 빌드를 트리거할 수 있습니다. 이 위험을 줄이려면 webhook 사용 모범 사례 섹션을 참조하세요.

사전 조건

이 샘플을 실행하려면 AWS CodeBuild 프로젝트를 Bitbucket 계정에 연결해야 합니다.

참고

CodeBuild Bitbucket으로 권한을 업데이트했습니다. 이전에 프로젝트를 Bitbucket에 연결했는데 이제 Bitbucket 연결 오류가 발생하는 경우 웹훅을 관리할 CodeBuild 권한을 부여하려면 다시 연결해야 합니다.

1단계: Bitbucket으로 빌드 프로젝트를 만들고 웹훅을 활성화합니다.

다음 단계에서는 Bitbucket을 소스 리포지토리로 사용하여 AWS CodeBuild 프로젝트를 만들고 웹후크를 활성화하는 방법을 설명합니다.

  1. 코드빌드/홈에서 AWS CodeBuild https://console.aws.amazon.com/codesuite/ 콘솔을 엽니다.

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

  3. 빌드 프로젝트 생성을 선택합니다.

  4. 프로젝트 구성에서 다음과 같이 합니다.

    프로젝트 이름

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

  5. 소스에서 다음과 같이 합니다.

    소스 공급자

    Bitbucket을 선택합니다. Bitbucket과 연결(다시 연결)하는 지침을 따르고 승인을 선택합니다.

    리포지토리

    내 Bitbucket 계정의 리포지토리를 선택합니다.

    이전에 Bitbucket 계정에 연결한 적이 없으면 Bitbucket 사용자 이름과 앱 암호를 입력하고 Bitbucket 보안 인증 저장을 선택합니다.

    Bitbucket 리포지토리

    Bitbucket 저장소에 를 입력합니다. URL

  6. 기본 소스 webhook 이벤트에서 다음을 선택합니다.

    참고

    기본 소스 webhook 이벤트 섹션은 이전 단계에서 Bitbucket 계정의 리포지토리를 선택한 경우에만 표시됩니다.

    1. 프로젝트를 생성할 때 코드 변경이 이 리포지토리로 푸시될 때마다 다시 빌드를 선택합니다.

    2. 이벤트 유형에서 하나 이상의 이벤트를 선택합니다.

    3. 이벤트가 빌드를 트리거할 때를 필터링하려면 Start a build under these conditions(다음 조건에서 빌드를 시작)에서 하나 이상의 선택적 필터를 추가합니다.

    4. 이벤트가 트리거되지 않을 때를 필터링하려면 Don't start a build under these conditions(다음 조건에서 빌드를 시작하지 않음)에서 하나 이상의 선택적 필터를 추가합니다.

    5. 필요한 경우 필터 그룹 추가를 선택하여 다른 필터 그룹을 추가합니다.

    Bitbucket webhook 이벤트 유형 및 필터에 대한 자세한 내용은 Bitbucket Webhook 이벤트 섹션을 참조하세요.

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

    환경 이미지

    다음 중 하나를 선택합니다.

    에서 관리하는 Docker 이미지를 사용하려면: AWS CodeBuild

    관리형 이미지를 선택한 후 운영 체제, 런타임, 이미지이미지 버전에서 옵션을 선택합니다. 사용 가능한 경우 환경 유형에서 항목을 선택합니다.

    다른 도커 이미지를 사용하려면:

    사용자 지정 이미지를 선택합니다. 환경 유형으로는 리눅스 ARM, 리눅스, 윈도우 중 하나를 선택합니다. GPU 기타 레지스트리를 선택한 경우 외부 레지스트리에 URL 대해 다음 형식을 사용하여 Docker Hub에 Docker 이미지의 이름과 태그를 입력합니다. docker repository/docker image name ECRAmazon을 선택하는 경우 Amazon ECR 리포지토리와 Amazon ECR 이미지를 사용하여 AWS 계정에서 Docker 이미지를 선택하십시오.

    프라이빗 도커 이미지를 사용하려면:

    사용자 지정 이미지를 선택합니다. 환경 유형으로는 리눅스 ARM, 리눅스, 윈도우 중 하나를 선택합니다. GPU 이미지 레지스트리의 경우 기타 레지스트리를 선택한 다음 프라이빗 Docker 이미지의 자격 증명을 입력합니다. ARN 보안 인증은 Secrets Manager에서 생성됩니다. 자세한 내용은 AWS Secrets Manager무엇입니까를 참조하십시오. AWS Secrets Manager 사용 설명서에서

    서비스 역할

    다음 중 하나를 선택합니다.

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

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

    참고

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

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

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

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

    자세한 정보는 buildspec 참조 단원을 참조하십시오.

  9. 결과물에서 다음과 같이 합니다.

    유형

    다음 중 하나를 선택합니다.

    • 빌드 출력 아티팩트를 생성하지 않으려면 No artifacts(아티팩트 없음)를 선택합니다.

    • S3 버킷에 빌드 출력을 저장하려면 Amazon S3를 선택하고 다음 작업을 수행합니다.

      • 빌드 출력 ZIP 파일 또는 폴더에 프로젝트 이름을 사용하려면 이름을 비워 두십시오. 그렇지 않으면 이름을 입력합니다. 기본적으로 결과물 이름은 프로젝트의 이름입니다. 다른 이름을 사용하려면 결과물 이름 상자에 해당 이름을 입력합니다. ZIP파일을 출력하려면 zip 확장자를 포함하세요.

      • [Bucket name]에서 출력 버킷의 이름을 선택합니다.

      • 이 절차의 앞부분에서 빌드 명령 삽입을 선택한 경우 출력 파일에 빌드 출력 파일 또는 폴더에 넣을 빌드의 ZIP 파일 위치를 입력합니다. 위치가 여러 개인 경우 각 위치를 쉼표로 구분합니다(예: appspec.yml, target/my-app.jar). 자세한 내용은 buildspec 구문files 설명을 참조하십시오.

    추가 구성

    Additional configuration(추가 구성)을 확장하고 옵션을 적절하게 설정합니다.

  10. 빌드 프로젝트 생성을 선택합니다. 검토 페이지에서 빌드 시작을 선택하여 빌드를 실행합니다.

2단계: Bitbucket 웹후크를 사용하여 빌드를 트리거합니다.

Bitbucket 웹후크를 사용하는 프로젝트의 경우 Bitbucket 리포지토리가 소스 코드의 변경을 감지하면 빌드를 AWS CodeBuild 만듭니다.

  1. 코드빌드/홈에서 콘솔을 엽니다. AWS CodeBuild https://console.aws.amazon.com/codesuite/

  2. 탐색 창에서 빌드 프로젝트를 선택한 다음 webhook에서 Bitbucket 리포지토리와 연결된 프로젝트를 선택합니다. Bitbucket webhook 프로젝트 생성에 대한 자세한 내용은 1단계: Bitbucket으로 빌드 프로젝트를 만들고 웹훅을 활성화합니다. 섹션을 참조하세요.

  3. 프로젝트의 Bitbucket 리포지토리에서 코드를 변경합니다.

  4. Bitbucket 리포지토리에서 풀 요청을 생성합니다. 자세한 내용은 API 요청 생성을 참조하십시오.

  5. Bitbucket Webhook 페이지에서 View request(요청 보기)를 선택하여 최신 이벤트 목록을 봅니다.

  6. 에서 반환한 응답에 대한 세부 정보를 보려면 세부 정보 보기를 선택합니다. CodeBuild 값이 다음과 같을 것입니다.

    "response":"Webhook received and build started: https://us-east-1.console.aws.amazon.com/codebuild/home..." "statusCode":200
  7. Bitbucket 풀 요청 페이지로 이동하여 빌드 상태를 확인합니다.