原始碼版本範例 AWS CodeBuild - AWS CodeBuild

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

原始碼版本範例 AWS CodeBuild

此範例示範如何使用遞交 ID 以外的格式 (也稱為遞交 SHA) 來指定來源的版本。您可以透過下列方式指定來源的版本:

  • 對於 Amazon S3 來源供應商,請使用代表組建輸入 ZIP 檔案之物件的版本識別碼。

  • 對於 CodeCommit、Bitbucket 和 GitHub 企業伺服器,請使用下列其中一項: GitHub

    • 提取請求做為提取請求參考 (例如,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 自我管理,請使用下列其中一項:

    • 分支做為分支名稱。

    • 遞交 ID。

    • 標籤。

注意

只有在儲存庫為 GitHub 或 GitHub 企業伺服器時,才能指定提取要求來源的版本。

如果您使用參考和遞交 ID 來指定版本,建置的 DOWNLOAD_SOURCE 階段會比您僅提供版本來得更快速。這是因為當您添加引用時, CodeBuild 不需要下載整個存儲庫即可查找提交。

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

  • 您可以指定具有參考和遞交 ID 的來源版本,以此格式:refs/heads/branchname^{full-commit-SHA} (例如,refs/heads/main^{12345678901234567890123467890123456789})。如果您這樣做,只會 CodeBuild 下載指定的分支以尋找版本。

注意

為了加快構建DOWNLOAD_SOURCE階段,您還可以將 Git 克隆深度設置為較低的數字。 CodeBuild 下載較少版本的儲存庫。

使用提交 ID 指定 GitHub 儲存庫版本
  1. 請在以下位置開啟 AWS CodeBuild 主控台。 https://console.aws.amazon.com/codesuite/codebuild/home

  2. 建立建置專案。如需詳細資訊,請參閱 建立組建專案 (主控台)執行建置 (主控台)。除了下列設定外,保留所有設定的預設值:

    • Source (來源) 中:

      • 對於來源提供者,請選擇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 /代碼構建/ 亞馬遜鏈 2-x86_64 標準:4.0。

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

  4. 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 環境變數中原始程式碼的版本。

  5. Build configuration (組建組態) 上,接受預設值,然後選擇 Start build (開始組建)

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

  7. 選擇 Start build (開始組建)

  8. 當組建完成時,您應該會看到下列:

    • 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 階段的持續時間。

這些步驟說明如何使用相同版本的來源建立組建。這時,來源的版本是使用具有遞交 ID 的參考指定。

使用提交 ID 和參照指定 GitHub 儲存庫版本
  1. 從左側導覽窗格,選擇 Build projects (組建專案),然後選擇您稍早建立的專案。

  2. 選擇 Start build (開始組建)

  3. Source version (來源版本) 中,輸入 refs/heads/main^{046e8b67481d53bdc86c3f6affdd5d1afae6d369}。這是相同的遞交 ID 和分支的參考,格式為 refs/heads/branchname^{full-commit-SHA}

  4. 選擇 Start build (開始組建)

  5. 當組建完成時,您應該會看到下列:

    • 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 階段的持續時間應該較您僅使用遞交 ID 來指定來源的版本時更短。