GitHub Enterprise Server 샘플 CodeBuild - AWS CodeBuild

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

GitHub Enterprise Server 샘플 CodeBuild

AWS CodeBuild지원합니다 GitHub 소스 리포지토리로 사용되는 Enterprise Server. 이 샘플에서 를 설정하는 방법을 보여줍니다. CodeBuild 프로젝트를 할 때 GitHub 엔터프라이즈 서버 저장소에 인증서가 설치되어 있습니다. 또한 웹후크를 활성화하여 CodeBuild 코드 변경이 푸시될 때마다 소스 코드를 다시 빌드합니다. GitHub Enterprise Server 리포지토리.

사전 조건

  1. 에 대한 개인 액세스 토큰을 생성합니다. CodeBuild 프로젝트. 를 생성하는 것이 좋습니다. GitHub Enterprise 사용자를 선택하고 이 사용자를 위한 개인 액세스 토큰을 생성합니다. 이 토큰을 생성할 때 사용할 수 있도록 클립보드에 복사합니다. CodeBuild 프로젝트. 자세한 내용은 단원을 참조하십시오.명령줄 개인용 액세스 토큰 생성위에 GitHub 도움말 웹 사이트.

    개인 액세스 토큰을 생성할 때 정의에 리포지토리 범위를 포함시킵니다.

  2. 다음에서 인증서 다운로드 GitHub Enterprise Server. CodeBuild 는 인증서를 사용하여 리포지토리에 신뢰할 수 있는 SSL 연결을 설정합니다.

    Linux/macOS 클라이언트:

    터미널 창에서 다음 명령을 실행합니다.

    echo -n | openssl s_client -connect HOST:PORTNUMBER \ | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /folder/filename.pem

    명령에서 자리 표시자를 다음 값으로 바꿉니다.

    HOST. 사용자의 IP 주소 GitHub Enterprise Server 리포지토리.

    PORTNUMBER. 연결에 사용하는 포트 번호입니다(예: 443).

    folder. 인증서를 다운로드한 폴더입니다.

    filename. 인증서 파일의 파일 이름입니다.

    중요

    인증서를 .pem 파일로 저장합니다.

    Windows 클라이언트:

    브라우저를 사용하여 다음에서 인증서를 다운로드합니다. GitHub Enterprise Server. 사이트의 인증서 세부 정보를 보려면 자물쇠 아이콘을 선택합니다. 인증서를 내보내는 방법에 대한 자세한 내용은 브라우저 설명서를 참조하십시오.

    중요

    인증서를 .pem 파일로 저장합니다.

  3. S3 버킷으로 인증서 파일을 업로드합니다. S3 버킷을 생성하는 방법에 대한 자세한 내용은 S3 버킷을 생성하려면 어떻게 해야 합니까?를 참조하십시오. S3 버킷으로 객체를 업로드하는 방법에 대한 자세한 내용은 버킷에 파일 및 폴더를 업로드하려면 어떻게 해야 합니까?를 참조하십시오.

    참고

    이 버킷은 동일해야 합니다.AWS지역을 빌드로 사용합니다. 예를 들어 다음과 같이 지시하는 경우 CodeBuild 미국 동부 (오하이오) 리전에서 빌드를 실행하려면 버킷도 미국 동부 (오하이오) 리전에 있어야 합니다.

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

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

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

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

  4. In소스, 에소스 공급자, 선택GitHub 엔터프라이즈.

    • [Personal Access Token]에서 클리보드에 복사해 놓은 토큰을 붙여 넣고 [Save Token]을 선택합니다. In리포지토리 URL에 해당 URL을 입력합니다. GitHub Enterprise Server 리포지토리.

      참고

      개인 액세스 토큰은 한 번만 입력하고 저장하면 됩니다. 향후 모든 AWS CodeBuild 프로젝트가 이 토큰을 사용합니다.

    • 리포지토리 URL에 리포지토리 이름을 포함하여 리포지토리에 대한 경로를 입력합니다.

    • Additional configuration(추가 구성)을 확장합니다.

    • 코드 변경이 이 리포지토리로 푸시될 때마다 다시 빌드하려면 코드 변경이 이 리포지토리로 푸시될 때마다 다시 빌드를 선택합니다.

    • Select비보안 SSL 활성화를 사용하여 에 연결되어 있는 동안 SSL 경고를 무시합니다. GitHub 엔터프라이즈 서버 프로젝트 리포지토리.

      참고

      Enable insecure SSL(안전하지 않은 SSL 활성화)는 테스트 용도로만 사용하는 것이 좋습니다. 프로덕션 환경에 사용하면 안 됩니다.

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

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

    • AWS CodeBuild가 관리하는 도커 이미지를 사용하려면 Managed image(관리형 이미지)를 선택한 후 운영 체제, 런타임, 이미지이미지 버전에서 항목을 선택합니다. 사용 가능한 경우 환경 유형에서 항목을 선택합니다.

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

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

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

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

    • 다음을 수행하려는 경우 CodeBuild 서비스 역할, 선택기존 서비스 역할. 역할 ARN에서 서비스 역할을 선택합니다.

    참고

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

  7. Additional configuration(추가 구성)을 확장합니다.

    다음을 수행하려는 경우 CodeBuild 를 사용하여 VPC 작업을 수행합니다.

    • VPC에서 다음 VPC ID를 선택합니다. CodeBuild 사용 사용.

    • VPC 서브넷에서 다음 리소스가 포함된 서브넷을 선택합니다. CodeBuild 사용 사용.

    • VPC 보안 그룹에서 다음 보안 그룹을 선택합니다. CodeBuild 를 사용하여 VPC의 리소스에 대한 액세스를 허용합니다.

    자세한 정보는 사용AWS CodeBuildAmazon Virtual Private Cloud 사용을 참조하세요.

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

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

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

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

  9. 결과물유형에서 다음 중 하나를 수행합니다.

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

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

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

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

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

  10. Cache type(캐시 유형)에서 다음 중 하나를 선택합니다.

    • 캐시를 사용하지 않으려면 [No cache]를 선택합니다.

    • Amazon S3 캐시를 사용하려면 다음을 선택합니다.Amazon S3를 선택한 후 다음을 수행합니다.

      • 버킷에서 캐시가 저장된 S3 버킷의 이름을 선택합니다.

      • (선택 사항)캐시 경로 접두사에 Amazon S3 경로 접두사를 입력합니다. Cache path prefix(캐시 경로 접두사) 값은 디렉터리 이름과 비슷합니다. 따라서 캐시를 버킷의 동일한 디렉터리에 저장할 수 있습니다.

        중요

        경로 접두사 끝에 후행 슬래시(/)를 추가하지 마십시오.

    • 로컬 캐시를 사용하려면 로컬을 선택한 다음 하나 이상의 로컬 캐시 모드를 선택해야 합니다.

      참고

      Docker 계층 캐시 모드는 Linux에서만 사용할 수 있습니다. 이 모드를 선택할 경우 프로젝트를 권한이 있는 모드에서 실행해야 합니다.

    캐시를 사용하면 빌드 환경의 재사용 가능한 특정 부분이 캐시에 저장되고 빌드 전반에서 사용되기 때문에 상당한 빌드 시간을 절약할 수 있습니다. buildspec 파일에 캐시를 지정하는 것에 대한 자세한 정보는 buildspec 구문 단원을 참조하십시오. 캐싱에 대한 자세한 정보는 AWS CodeBuild의 빌드 캐싱을 참조하십시오.

  11. 빌드 프로젝트 생성을 선택합니다. 빌드 프로젝트 페이지에서 빌드 시작을 선택합니다.

  12. 에서 웹후크를 활성화한 경우소스, a웹후크 생성 생성에 대한 값과 함께 대화 상자가 표시됩니다.페이로드 URLSecret.

    중요

    [Create webhook] 대화 상자는 한 번만 나타납니다. 페이로드 URL 및 보안 키를 복사합니다. 에서 Webhook를 추가할 때 필요합니다. GitHub Enterprise Server.

    페이로드 URL 및 보안 키를 다시 생성해야 하는 경우에는 먼저 GitHub Enterprise Server 리포지토리. CodeBuild 프로젝트에서 Webhook 확인란의 선택을 취소하고 저장을 선택합니다. 그런 다음 CodeBuild를 포함한 프로젝트Webhook확인란이 선택되었습니다. [Create webhook] 대화 상자가 다시 나타납니다.

  13. In GitHub Enterprise Server에서 원하는 리포지토리를 선택합니다. CodeBuild 프로젝트가 저장됩니다.

  14. 설정, Hooks & services(후크 및 서비스), Add webhook(webhook 추가)를 차례로 선택합니다.

  15. 페이로드 URL 및 보안 키를 입력하고 그 외 필드에 대해서는 기본값을 수락한 다음 [Add webhook]를 선택합니다.

  16. 로 돌아가기 CodeBuild 프로젝트. [Create webhook] 대화 상자를 선택하고 [Start build]를 선택합니다.