

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用遞交 ID 指定 GitHub 儲存庫版本
<a name="sample-source-version-github"></a>

您可以指定僅具有遞交 ID 的來源版本，例如 `12345678901234567890123467890123456789`。如果您這樣做，CodeBuild 必須下載整個儲存庫才能尋找版本。

**指定具有遞交 ID 的 GitHub 儲存庫版本**

1. 在 https：//[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)。除了下列設定外，保留所有設定的預設值：
   +  在 **Source (來源)** 中：
     +  針對 **Source provider (來源供應商)**，選擇 **GitHub**。如果您未連接至 GitHub，請遵循指示來連接。
     +  針對 **Repository (儲存庫)**，選擇 **Public repository (公有儲存庫)**。
     +  針對 **Repository URL (儲存庫 URL)**，輸入 **https://github.com/aws/aws-sdk-ruby.git**。
   + 在 **Environment (環境)** 中：
     + 針對 **Environment image (環境映像)**，選擇 **Managed image (受管映像)**。
     + 針對 **Operating system** (作業系統)，請選擇 **Amazon Linux 2**。
     + 針對 **Runtime(s) (執行時間)**，選擇 **Standard (標準)**。
     + 針對**映像**，選擇 **aws/codebuild/amazonlinux-x86\$164-standard：4.0。**

1.  針對 **Build specifications (組建規格)**，選擇 **Insert build commands (插入組建命令)**，然後選擇 **Switch to editor (切換到編輯器)**。

1.  在 **Build commands (組建命令)** 中，將預留位置文字更換為以下內容：

   ```
   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 (組建組態)** 上，接受預設值，然後選擇 **Start build (開始組建)**。

1.  對於 **Source version (來源版本)**，輸入 **046e8b67481d53bdc86c3f6affdd5d1afae6d369**。這是 `https://github.com/aws/aws-sdk-ruby.git` 儲存庫中遞交的 SHA。

1.  選擇 **Start build (開始組建)**。

1.  當組建完成時，您應該會看到下列：
   +  在 **Build logs (組建日誌)** 標籤上，使用的專案來源的版本。請見此處範例。

     ```
     [Container] Date Time Running command echo $CODEBUILD_RESOLVED_SOURCE_VERSION 
     046e8b67481d53bdc86c3f6affdd5d1afae6d369
      
     [Container] Date Time Phase complete: BUILD State: SUCCEEDED
     ```
   +  在 **Environment variables (環境變數)** 標籤上，**Resolved source version (已解決的來源版本)** 會符合用來建立組建的遞交 ID。
   +  在 **Phase details (階段詳細資訊)** 標籤上，`DOWNLOAD_SOURCE` 階段的持續時間。