자습서: GitHub 파이프라인 소스와 함께 전체 복제본 사용 - AWS CodePipeline

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

자습서: GitHub 파이프라인 소스와 함께 전체 복제본 사용

에서 GitHub 소스 작업에 대한 전체 복제 옵션을 선택할 수 있습니다 CodePipeline. 파이프라인 빌드 작업에서 Git 메타데이터에 대한 CodeBuild 명령을 실행하려면 이 옵션을 사용합니다.

참고

여기에 설명된 전체 복제 옵션은 가 리포지토리 메타데이터를 복제 CodePipeline 할지 여부를 지정하는 것을 의미하며, 이는 CodeBuild 명령으로만 사용할 수 있습니다. CodeBuild 프로젝트에 사용할 GitHub 사용자 액세스 토큰을 사용하려면 다음 단계에 따라 GitHub 앱용 AWS 커넥터를 설치한 다음 앱 설치 필드를 비워 둡니다. CodeConnections 는 연결에 사용자 액세스 토큰을 사용합니다.

중요

파이프라인 생성의 일환으로 고객이 제공하는 S3 아티팩트 버킷이 아티팩트 CodePipeline 에 사용됩니다. (이는 S3 소스 작업에 사용되는 버킷과 다릅니다.) S3 아티팩트 버킷이 파이프라인의 계정과 다른 계정에 있는 경우 S3 아티팩트 버킷을 안전하고 신뢰할 수 AWS 계정 있는 가 소유해야 합니다.

이 자습서에서는 GitHub 리포지토리에 연결하고, 소스 데이터에 전체 복제 옵션을 사용하고, 리포지토리를 복제하고, 리포지토리에 대한 Git 명령을 수행하는 CodeBuild 빌드를 실행하는 파이프라인을 생성합니다.

참고

아시아 태평양(홍콩), 아프리카(케이프타운), 중동(바레인), 유럽(취리히) 또는 AWS GovCloud (미국 서부) 리전에서는 이 기능을 사용할 수 없습니다. 사용 가능한 다른 작업을 참조하려면 와의 제품 및 서비스 통합 CodePipeline을 참조하세요. 유럽(밀라노) 리전에서 이 조치를 고려할 경우 CodeStarSourceConnection Bitbucket Cloud, GitHub, GitHub Enterprise Server, GitLab.com 및 GitLab 자체 관리형 작업의 참고 사항을 참조하세요.

사전 조건

시작하기 전에 다음을 수행해야 합니다.

  • GitHub 계정으로 GitHub 리포지토리를 생성합니다.

  • GitHub 자격 증명을 준비합니다. AWS Management Console 를 사용하여 연결을 설정하면 GitHub 자격 증명으로 로그인하라는 메시지가 표시됩니다.

1단계: README 파일 생성

GitHub 리포지토리를 생성한 후 다음 단계에 따라 README 파일을 추가합니다.

  1. GitHub 리포지토리에 로그인하고 리포지토리를 선택합니다.

  2. 새 파일을 생성하려면 파일 추가 > 새 파일 생성을 선택합니다. 파일 이름을 README.md. 파일로 지정하고 다음 텍스트를 추가합니다.

    This is a GitHub repository!
  3. 변경 사항 커밋을 선택합니다.

    README.md 파일이 리포지토리의 루트 수준에 있는지 확인합니다.

2단계: 파이프라인 및 빌드 프로젝트 생성

이 단원에서는 다음 작업을 통해 파이프라인을 생성합니다.

  • GitHub 리포지토리 및 작업에 연결된 소스 단계입니다.

  • 빌드 작업이 포함된 AWS CodeBuild 빌드 단계입니다.

마법사를 사용하여 파이프라인을 생성하려면
  1. 에서 CodePipeline 콘솔에 로그인합니다https://console.aws.amazon.com/codepipeline/.

  2. Welcome(시작) 페이지, 시작하기 페이지 또는 Pipelines(파이프라인) 페이지에서 파이프라인 생성을 선택합니다.

  3. 1단계: 파이프라인 설정 선택파이프라인 이름MyGitHubPipeline을 입력합니다.

  4. 파이프라인 유형에서 이 자습서의 목적에 맞는 V1을 선택합니다. V2를 선택할 수도 있지만 파이프라인 유형별 특성과 가격이 다르다는 점에 유의하십시오. 자세한 내용은 파이프라인 유형 단원을 참조하십시오.

  5. Service role(서비스 역할)에서 New service role(새 서비스 역할)을 선택합니다.

    참고

    기존 CodePipeline 서비스 역할을 대신 사용하도록 선택하는 경우 서비스 역할 정책에 codestar-connections:UseConnection IAM 권한을 추가했는지 확인합니다. CodePipeline 서비스 역할에 대한 지침은 CodePipeline 서비스 역할에 권한 추가를 참조하세요.

  6. 고급 설정에서 기본값을 그대로 둡니다. [아티팩트 스토어(Artifact store)]에서 [기본 위치(Default location)]를 선택하여 파이프라인에 대해 선택한 리전의 파이프라인에 대해 기본값으로 지정된 Amazon S3 아티팩트 버킷과 같은 기본 아티팩트 스토어를 사용합니다.

    참고

    이는 소스 코드에 대한 소스 버킷이 아닙니다. 이 파이프라인은 아티팩트 스토어입니다. S3 버킷과 같은 개별 아티팩트 스토어는 각 파이프라인에 필요합니다.

    Next(다음)를 선택합니다.

  7. [2단계: 소스 단계 추가(Step 2: Add source stage)] 페이지에서 소스 단계를 추가합니다.

    1. 소스 공급자 에서 GitHub (버전 2)를 선택합니다.

    2. 연결에서 기존 연결을 선택하거나 새로 생성합니다. GitHub 소스 작업에 대한 연결을 생성하거나 관리하려면 섹션을 참조하세요GitHub 연결.

      특정 공급자에 대한 모든 연결에 대해 하나의 앱을 설치합니다. GitHub 앱용 AWS 커넥터를 이미 설치한 경우 해당 커넥터를 선택하고 이 단계를 건너뜁니다.

      참고

      사용자 액세스 토큰을 생성하려면 GitHub 앱용 커넥터를 이미 설치 AWS 했는지 확인한 다음 앱 설치 필드를 비워 둡니다. CodeConnections 는 연결에 사용자 액세스 토큰을 사용합니다. 자세한 내용은 의 소스 공급자 액세스를 참조하세요 CodeBuild.

    3. 리포지토리 이름 에서 리포지토리 이름을 GitHub 선택합니다.

    4. 브랜치 이름에서 사용할 리포지토리 브랜치를 선택합니다.

    5. 소스 코드 변경 시 파이프라인 시작 옵션을 선택합니다.

    6. 출력 아티팩트 형식에서 전체 복제를 선택하여 소스 리포지토리의 Git 복제 옵션을 활성화합니다. 에서 제공하는 작업만 Git 복제 옵션을 사용할 CodeBuild 수 있습니다. 이 자습서3단계: 연결을 사용하도록 CodeBuild 서비스 역할 정책 업데이트에서는 를 사용하여 CodeBuild 프로젝트 서비스 역할에 대한 권한을 업데이트하여 이 옵션을 사용할 수 있습니다.

    Next(다음)를 선택합니다.

  8. Add build stage(빌드 스테이지 추가)에서 빌드 스테이지를 추가합니다.

    1. 빌드 공급자에서 AWS CodeBuild를 선택합니다. 리전이 파이프라인 리전으로 기본 설정되도록 합니다.

    2. 프로젝트 만들기를 선택합니다.

    3. 프로젝트 이름에 이 빌드 프로젝트의 이름을 입력합니다.

    4. 환경 이미지에서 이미지 관리를 선택합니다. [Operating system]에서 [Ubuntu]를 선택합니다.

    5. 실행 시간에서 표준을 선택합니다. 이미지에서 aws/codebuild/standard:5.0을 선택합니다.

    6. 서비스 역할에서 New service role(새 서비스 역할)을 선택합니다.

      참고

      CodeBuild 서비스 역할의 이름을 기록해 둡니다. 이 자습서의 마지막 단계를 수행하려면 역할 이름이 필요합니다.

    7. [Buildspec]의 [빌드 사양(Build specifications)]에서 [빌드 명령 삽입(Insert build commands)]을 선택합니다. 편집기로 전환을 선택하고 빌드 명령에 다음을 붙여 넣습니다.

      참고

      빌드 사양의 env 섹션에서 이 예제와 같이 git 명령의 보안 인증 도우미가 활성화되어 있는지 확인하세요.

      version: 0.2 env: git-credential-helper: yes phases: install: #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions. #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails. runtime-versions: nodejs: 12 # name: version #commands: # - command # - command pre_build: commands: - ls -lt - cat README.md build: commands: - git log | head -100 - git status - ls - git archive --format=zip HEAD > application.zip #post_build: #commands: # - command # - command artifacts: files: - application.zip # - location #name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths
    8. 로 계속 CodePipeline을 선택합니다. 이렇게 하면 콘솔로 돌아가서 구성에 CodePipeline 빌드 명령을 사용하는 CodeBuild 프로젝트를 생성합니다. 빌드 프로젝트는 서비스 역할을 사용하여 AWS 서비스 권한을 관리합니다. 이 단계는 몇 분이 걸릴 수 있습니다.

    9. Next(다음)를 선택합니다.

  9. 4단계: 배포 단계 추가 페이지에서 Skip deploy stage(배포 단계 건너뛰기)를 선택한 다음 Skip(건너뛰기)을 다시 선택하여 경고 메시지를 수락합니다. Next(다음)를 선택합니다.

  10. 5단계: 검토 페이지에서 파이프라인 생성을 선택합니다.

3단계: 연결을 사용하도록 CodeBuild 서비스 역할 정책 업데이트

연결을 사용하려면 CodeBuild 서비스 역할을 권한으로 업데이트해야 하므로 초기 파이프라인 실행이 실패합니다. 서비스 역할 정책에 codestar-connections:UseConnection IAM 권한을 추가합니다. IAM 콘솔에서 정책을 업데이트하는 지침은 섹션을 참조하세요Bitbucket, GitHub, GitHub Enterprise Server 또는 GitLab.com에 대한 연결 CodeBuild GitClone 권한 추가.

4단계: 빌드 출력에서 리포지토리 명령 보기

  1. 서비스 역할이 성공적으로 업데이트되면 실패한 CodeBuild 단계에서 재시도를 선택합니다.

  2. 파이프라인이 성공적으로 실행되면 성공적으로 완료된 빌드 단계에서 세부 정보 보기를 선택합니다.

    세부 정보 페이지에서 로그 탭을 선택합니다. CodeBuild 빌드 출력을 봅니다. 명령은 입력된 변수의 값을 출력합니다.

    명령은 README.md 파일 콘텐츠를 출력하고, 디렉터리에 파일을 나열하고, 리포지토리를 복제하고, 로그를 보고, 리포지토리를 ZIP 파일로 보관합니다.