CodeBuild 대한 GitHub pull 요청 및 Webhook 필터 샘플 - AWS CodeBuild

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

CodeBuild 대한 GitHub pull 요청 및 Webhook 필터 샘플

AWS CodeBuild는 소스 리포지토리가 GitHub일 때 Webhook을 지원합니다. 즉, 소스 코드가 GitHub 리포지토리에 저장된 CodeBuild 빌드 프로젝트의 경우, Webhook은 코드 변경이 리포지토리에 푸시될 때마다 가 소스 코드를 다시 빌드하는 데 사용할 수 있습니다.

참고

웹훅을 사용할 때 사용자가 예상치 못한 빌드를 트리거할 수 있습니다. 이 위험을 완화하려면 단원을 참조하십시오.웹후크 사용 모범 사례.

GitHub를 소스 리포지토리로 사용하여 빌드 프로젝트 생성 및 Webhook 활성화(콘솔)

  1. 열기AWS CodeBuild콘솔https://console.aws.amazon.com/codesuite/codebuild/home.

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

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

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

    프로젝트 이름

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

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

    소스 공급자

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

    리포지토리

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

    GitHub 리포지토리

    GitHub 리포지토리에 대한 URL을 입력합니다.

  6. In기본 소스 Webhook 이벤트를 클릭하여 다음을 선택합니다.

    참고

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

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

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

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

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

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

    GitHub Webhook 이벤트 유형 및 필터에 대한 자세한 내용은 단원을 참조하십시오.GitHub Webhook 이벤트.

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

    환경 이미지

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

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

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

    다른 도커 이미지를 사용하려면 다음을 수행합니다.

    선택사용자 지정 이미지. 용환경 유형, 선택ARM,Linux,리눅스 GPU또는Windows. Other registry(다른 레지스트리)를 선택한 경우 External registry URL(외부 레지스트리 URL)에 Docker Hub의 도커 이미지 이름 및 태그를 docker repository/docker image name 형식으로 입력합니다. 를 선택한 경우Amazon ECR, 사용Amazon ECR 저장소Amazon ECR 이미지에서 Docker 이미지를 선택합니다.AWS계정.

    비공개 Docker 이미지를 사용하려면 다음과 같이 하십시오.

    선택사용자 지정 이미지. 용환경 유형, 선택ARM,Linux,리눅스 GPU또는Windows. Image registry(이미지 레지스트리)에서 Other registry(다른 레지스트리)를 선택한 다음 프라이빗 도커 이미지에 대한 자격 증명 정보의 ARN을 입력합니다. 자격 증명은 Secrets Manager에서 생성해야 자세한 내용은 단원을 참조하십시오.란 무엇입니까?AWS Secrets Manager?AWS Secrets Manager사용 설명서.

    서비스 역할

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

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

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

    참고

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

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

    • 선택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. 빌드 프로젝트 생성을 선택합니다. 검토 페이지에서 빌드 시작을 선택하여 빌드를 실행합니다.

확인 검사

  1. 열기AWS CodeBuild콘솔https://console.aws.amazon.com/codesuite/codebuild/home.

  2. 탐색 창에서 [Build projects]를 선택합니다.

  3. 다음 중 하나를 수행하세요.

    • webhook를 검증하려는 빌드 프로젝트의 링크를 선택한 후 빌드 세부 정보를 선택합니다.

    • webhook를 검증하려는 빌드 프로젝트 옆에 있는 버튼을 선택하고세부 정보 보기를 선택한 다음 를 선택합니다.빌드 세부 정보탭.

  4. In기본 소스 Webhook 이벤트를 선택합니다.WebhookURL 링크.

  5. GitHub 리포지토리의 설정 페이지에서 Webhook에 대해 Pull 요청Push가 선택되어 있는지 확인합니다.

  6. GitHub 프로파일 설정의 개인 설정, 애플리케이션, 권한 있는 OAuth 앱에 애플리케이션이 선택한 AWS 리전에 액세스할 수 있는 권한이 있는 것으로 표시되어야 합니다.