Batch 建置 AWS CodeBuild - AWS CodeBuild

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

Batch 建置 AWS CodeBuild

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

安全性角色

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

  • 賦予構建角色 StartBuildStopBuild,和RetryBuild權限將允許單個構建通過 buildspec 啟動更多構建。

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

Batch 建置類型

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

在此範例中:

  • build1首先運行,因為它沒有依賴關係。

  • build2具有依賴關係build1,因此在build1完成後build2運行。

  • build3具有依賴關係build2,因此在build2完成後build3運行。

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

組建清單

組建清單會定義一些並行執 parallel 的工作。

下列範例會定義組建清單。build1build2組建將 parallel 執行。

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

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

建立矩陣

構建矩陣定義具有並行運 parallel 的不同配置的任務。 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/amazonlinux2-x86_64-standard:4.0

  • env/privileged-mode設定為 true

這些組建並行執 parallel。

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

Batch 報告模式

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

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

其他資訊

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