選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

批次執行組建

焦點模式
批次執行組建 - AWS CodeBuild

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

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

您可以使用 AWS CodeBuild 執行具有批次建置的專案並行和協調建置。

安全角色

批次建置會在批次組態中引入新的安全角色。此新角色是必要的StopBuild,因為 CodeBuild 必須能夠代表您呼叫 StartBuild、 和 RetryBuild動作,才能在批次中執行組建。客戶應該使用新角色,而不是他們在建置中使用的相同角色,原因有兩個:

  • 提供組建角色 StartBuildStopBuildRetryBuild許可,可讓單一組建透過 buildspec 啟動更多組建。

  • CodeBuild 批次建置提供限制,限制可用於批次中建置的建置和運算類型數目。如果建置角色具有這些許可,則建置本身可能會略過這些限制。

批次建置類型

CodeBuild 支援下列批次建置類型:

組建圖表

建置圖表定義一組任務,這些任務對批次中的其他任務具有相依性。

下列範例定義了建立相依性鏈的建置圖表。

batch: fast-fail: false build-graph: - identifier: build1 env: variables: BUILD_ID: build1 ignore-failure: false - identifier: build2 buildspec: build2.yml env: variables: BUILD_ID: build2 depend-on: - build1 - identifier: build3 env: variables: BUILD_ID: build3 depend-on: - build2 - identifier: build4 env: compute-type: ARM_LAMBDA_1GB - identifier: build5 env: fleet: fleet_name

在此範例中:

  • build1 會先執行,因為它沒有相依性。

  • build2 具有 的相依性build1,因此 會在 build1完成後build2執行。

  • build3 具有 的相依性build2,因此 會在 build2完成後build3執行。

如需建置圖表 buildspec 語法的詳細資訊,請參閱 batch/build-graph

組建清單

建置清單會定義平行執行的許多任務。

下列範例定義組建清單。build1 和 組build2建會平行執行。

batch: fast-fail: false build-list: - identifier: build1 env: variables: BUILD_ID: build1 ignore-failure: false - identifier: build2 buildspec: build2.yml env: variables: BUILD_ID: build2 ignore-failure: true - identifier: build3 env: compute-type: ARM_LAMBDA_1GB - identifier: build4 env: fleet: fleet_name - identifier: build5 env: compute-type: GENERAL_LINUX_XLAGRE

如需建置清單 buildspec 語法的詳細資訊,請參閱 batch/build-list

建置矩陣

建置矩陣會定義具有平行執行之不同組態的任務。CodeBuild 會為每個可能的組態組合建立個別的組建。

下列範例顯示具有兩個 buildspec 檔案和三個環境變數值的建置矩陣。

batch: build-matrix: static: ignore-failure: false dynamic: buildspec: - matrix1.yml - matrix2.yml env: variables: MY_VAR: - VALUE1 - VALUE2 - VALUE3

在此範例中,CodeBuild 會建立六個組建:

  • matrix1.yml 取代為 $MY_VAR=VALUE1

  • matrix1.yml 取代為 $MY_VAR=VALUE2

  • matrix1.yml 取代為 $MY_VAR=VALUE3

  • matrix2.yml 取代為 $MY_VAR=VALUE1

  • matrix2.yml 取代為 $MY_VAR=VALUE2

  • matrix2.yml 取代為 $MY_VAR=VALUE3

每個組建都會有下列設定:

  • ignore-failure 設定為 false

  • env/type 設定為 LINUX_CONTAINER

  • env/image 設定為 aws/codebuild/amazonlinux-x86_64-standard:4.0

  • env/privileged-mode 設定為 true

這些組建會平行執行。

如需建置矩陣 buildspec 語法的詳細資訊,請參閱 batch/build-matrix

建置散發

建置散發會定義任務,該任務將在批次中分割成多個建置。這可用於平行執行測試。CodeBuild 會根據parallelism欄位中設定的值,為每個測試案例碎片建立個別的組建。

下列範例定義了組建散發,可建立五個平行執行的組建。

version: 0.2 batch: fast-fail: false build-fanout: parallelism: 5 ignore-failure: false phases: install: commands: - npm install build: commands: - mkdir -p test-results - cd test-results - | codebuild-tests-run \ --test-command 'npx jest --runInBand --coverage' \ --files-search "codebuild-glob-search '**/test/**/*.test.js'" \ --sharding-strategy 'equal-distribution'

在此範例中,假設需要執行 100 個測試,CodeBuild 會建立五個組建,每個組建會平行執行 20 個測試。

如需建置圖表 buildspec 語法的詳細資訊,請參閱 batch/build-fanout

批次報告模式

如果專案的來源提供者是 Bitbucket、GitHub 或 GitHub Enterprise,且您的專案設定為向來源提供者報告建置狀態,則您可以選取希望批次建置狀態傳送至來源提供者的方式。您可以選擇 ,將狀態做為批次的單一彙總狀態報告傳送,或讓批次中每個組建的狀態個別報告。

如需詳細資訊,請參閱下列主題:

其他資訊

如需詳細資訊,請參閱下列主題:

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。