

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

# 를 사용한 소스 버전 샘플 AWS CodeBuild
<a name="sample-source-version"></a>

 이 샘플은 커밋 ID 외의 형식(커밋 SHA라고 함)을 사용하여 소스 버전을 지정하는 방법을 입증합니다. 다음 방법으로 소스 버전을 지정할 수 있습니다.
+  Amazon S3 소스 공급자의 경우 빌드 입력 ZIP 파일을 나타내는 객체의 버전 ID를 사용합니다.
+  CodeCommit의 경우 Bitbucket, GitHub 및 GitHub Enterprise Server는 다음 중 하나를 사용합니다.
  +  풀 요청 참조로서 풀 요청(예: `refs/pull/1/head`).
  +  브랜치 이름으로 브랜치합니다.
  +  커밋 ID.
  +  태그.
  +  참조 및 커밋 ID. 참조는 다음 중 하나일 수 있습니다.
    +  태그(예: `refs/tags/mytagv1.0^{full-commit-SHA}`).
    +  브랜치(예: `refs/heads/mydevbranch^{full-commit-SHA}`).
    +  풀 요청(예: `refs/pull/1/head^{full-commit-SHA}`).
+  GitLab 및 GitLab Self Managed의 경우 다음 중 하나를 사용합니다.
  +  브랜치 이름으로 브랜치합니다.
  +  커밋 ID.
  +  태그.

**참고**  
 리포지토리가 GitHub 또는 GitHub Enterprise Server인 경우에만 풀 요청 소스 버전을 지정할 수 있습니다.

 참조 및 커밋 ID를 사용하여 버전을 지정하는 경우 빌드의 `DOWNLOAD_SOURCE` 단계는 버전만을 제공하는 경우보다 더 빠릅니다. 그 이유는 참조 추가 시 CodeBuild가 커밋을 찾기 위해 전체 리포지토리를 다운로드할 필요가 없기 때문입니다.
+ 커밋 ID(예: `12345678901234567890123467890123456789`)만을 사용하여 소스 버전을 지정할 수 있습니다. 이 경우 CodeBuild는 버전을 찾기 위해 전체 리포지토리를 다운로드해야 합니다.
+ 다음 형식으로 참조 및 커밋 ID를 사용하여 소스 버전을 지정할 수 있습니다. `refs/heads/branchname^{full-commit-SHA}`(예: `refs/heads/main^{12345678901234567890123467890123456789}`). 이 경우 CodeBuild는 버전을 찾기 위해 지정한 분기만 다운로드합니다.

**참고**  
또한 빌드의 `DOWNLOAD_SOURCE` 단계를 촉진하기 위해 **Git clone depth**를 낮은 값으로 설정할 수 있습니다. CodeBuild는 더 적은 수의 리포지토리 버전을 다운로드합니다.

**Topics**
+ [

# 커밋 ID를 사용하여 GitHub 리포지토리 버전 지정
](sample-source-version-github.md)
+ [

# 참조 및 커밋 ID를 사용하여 GitHub 리포지토리 버전 지정
](sample-source-version-github-ref.md)

# 커밋 ID를 사용하여 GitHub 리포지토리 버전 지정
<a name="sample-source-version-github"></a>

커밋 ID(예: `12345678901234567890123467890123456789`)만을 사용하여 소스 버전을 지정할 수 있습니다. 이 경우 CodeBuild는 버전을 찾기 위해 전체 리포지토리를 다운로드해야 합니다.

**커밋 ID를 사용하여 GitHub 리포지토리 버전을 지정하려면**

1. [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) AWS CodeBuild 콘솔을 엽니다.

1. 빌드 프로젝트를 생성합니다. 자세한 내용은 [빌드 프로젝트 만들기(콘솔)](create-project.md#create-project-console) 및 [빌드 실행(콘솔)](run-build-console.md) 섹션을 참조하세요. 다음 설정을 제외하고 모든 설정을 기본값 그대로 둡니다.
   +  **소스**에서 다음과 같이 합니다.
     +  **소스 공급자**에서 **GitHub**를 선택합니다. GitHub에 연결되어 있지 않은 경우 연결 지침을 따릅니다.
     +  **리포지토리**에서 **퍼블릭 리포지토리**를 선택합니다.
     +  **리포지토리 URL**에 **https://github.com/aws/aws-sdk-ruby.git**을 입력합니다.
   + **환경**에서 다음과 같이 합니다.
     + **환경 이미지**에서 **이미지 관리**를 선택합니다.
     + **운영 체제**에서 **Amazon Linux 2**를 선택합니다.
     + **런타임**에서 **표준**을 선택합니다.
     + **이미지**의 경우 **aws/codebuild/amazonlinux-x86\$164-standard:4.0**을 선택합니다.

1.  **빌드 사양**에서 **빌드 명령 삽입**을 선택한 후 **편집기로 전환**을 선택합니다.

1.  **빌드 명령**에서 자리표시자 텍스트를 다음으로 바꿉니다.

   ```
   version: 0.2
   
   phases:
     install:
       runtime-versions:
         ruby: 2.6
     build:
       commands:
          - echo $CODEBUILD_RESOLVED_SOURCE_VERSION
   ```

    Ubuntu 표준 이미지 2.0 사용 시 `runtime-versions` 섹션이 필요합니다. 여기서 Ruby 버전 2.6 런타임이 지정되지만, 모든 런타임을 사용할 수 있습니다. `echo` 명령은 `CODEBUILD_RESOLVED_SOURCE_VERSION` 환경 변수에 저장된 소스 코드 버전을 표시합니다.

1.  **Build configuration(빌드 구성)**에서 기본값을 적용한 다음 **빌드 시작**을 선택합니다.

1.  **소스 버전**에 **046e8b67481d53bdc86c3f6affdd5d1afae6d369**를 입력합니다. 이는 `https://github.com/aws/aws-sdk-ruby.git` 리포지토리의 커밋 SHA입니다.

1.  **빌드 시작**를 선택합니다.

1.  빌드 완료 시 다음과 같은 모양이어야 합니다.
   +  **빌드 로그** 탭에서 프로젝트의 어떤 버전이 사용되었습니다. 다음 예를 참고하세요

     ```
     [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 
     046e8b67481d53bdc86c3f6affdd5d1afae6d369
      
     [Container] Date Time Phase complete: BUILD State: SUCCEEDED
     ```
   +  **환경 변수** 탭에서 **Resolved source version(해결된 소스 버전)**이 빌드 생성에 사용된 커밋 ID와 일치합니다.
   +  **단계 세부 정보** 탭에서 `DOWNLOAD_SOURCE` 단계의 기간입니다.

# 참조 및 커밋 ID를 사용하여 GitHub 리포지토리 버전 지정
<a name="sample-source-version-github-ref"></a>

다음 형식으로 참조 및 커밋 ID를 사용하여 소스 버전을 지정할 수 있습니다. `refs/heads/branchname^{full-commit-SHA}`(예: `refs/heads/main^{12345678901234567890123467890123456789}`). 이 경우 CodeBuild는 버전을 찾기 위해 지정한 분기만 다운로드합니다.

**참조 및 커밋 ID를 사용하여 GitHub 리포지토리 버전을 지정하려면**

1. [커밋 ID를 사용하여 GitHub 리포지토리 버전 지정](sample-source-version-github.md)의 단계를 수행하세요.

1.  왼쪽 탐색 창에서 **빌드 프로젝트**를 선택한 후 이전에 생성된 프로젝트를 선택합니다.

1.  **빌드 시작**를 선택합니다.

1.  **소스 버전**에 **refs/heads/main^\$1046e8b67481d53bdc86c3f6affdd5d1afae6d369\$1**를 입력합니다. 이는 `refs/heads/branchname^{full-commit-SHA}` 형식의 브랜치 및 커밋 ID와 동일합니다.

1.  **빌드 시작**를 선택합니다.

1. 빌드 완료 시 다음과 같은 모양이어야 합니다.
   +  **빌드 로그** 탭에서 프로젝트의 어떤 버전이 사용되었습니다. 다음 예를 참고하세요

     ```
     [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 
     046e8b67481d53bdc86c3f6affdd5d1afae6d369
      
     [Container] Date Time Phase complete: BUILD State: SUCCEEDED
     ```
   +  **환경 변수** 탭에서 **Resolved source version(해결된 소스 버전)**이 빌드 생성에 사용된 커밋 ID와 일치합니다.
   +  **단계 세부 정보** 탭에서 `DOWNLOAD_SOURCE` 단계의 기간은 커밋 ID만을 사용하여 소스 버전을 지정했을 때의 기간보다 짧아야 합니다.