AWS CodeBuild 的來源版本範例 - AWS CodeBuild

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

AWS CodeBuild 的來源版本範例

此範例示範如何使用遞交 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})。

注意

只有當您的儲存庫是 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 複製深度設定為較低的數字。CodeBuild 下載版本較少的存儲庫。

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

  1. 開啟AWS CodeBuild主控台https://console.aws.amazon.com/codesuite/codebuild/home

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

    • 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 (標準)

      • 適用於Image (影像)中,選擇aws/codebuild/amazonlinux2-x86_64-standar: 3.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 來指定來源的版本時更短。