バッチビルドのビルド仕様 (buildspec) のリファレンス - AWS CodeBuild

バッチビルドのビルド仕様 (buildspec) のリファレンス

このトピックでは、バッチビルドプロパティの ビルド仕様 (buildspec) リファレンスを示します。

バッチ

オプションのマッピング。プロジェクトのバッチビルド設定。

batch/fast-fail

オプション。1 つ以上のビルドタスクが失敗した場合のバッチビルドの動作を指定します。

false

デフォルト値。実行中のすべてのビルドが完了します。

true

ビルドタスクの 1 つが失敗すると、実行中のすべてのビルドが停止します。

デフォルトでは、すべてのバッチビルドタスクは、buildspec ファイルで指定された、envphases などのビルド設定で実行されます。デフォルトのビルド設定をオーバーライドするには、「env」値または別の buildspec ファイルを「batch/<batch-type>/buildspec」パラメータで指定します。

batch プロパティの内容は、指定されたバッチビルドのタイプによって異なります。可能なバッチビルドタイプは次のとおりです。

batch/build-graph

ビルドグラフを定義します。ビルドグラフは、バッチ内の他のタスクに依存する一連のタスクを定義します。詳細については、「ビルドグラフ」を参照してください。

この要素には、ビルドタスクの配列が含まれます。各ビルドタスクには、以下のプロパティが含まれます。

ID

必須。タスクの識別子。

buildspec

オプション。このタスクに使用する buildspec ファイルのパスとファイル名。このパラメータを指定しないと、現在の buildspec ファイルが使用されます。

debug-session

オプション。セッションデバッグがこのバッチビルドで有効かどうかを示す、ブール値。セッションデバッグの詳細については、「Session Manager を使用してビルドをデバッグする」を参照してください。

false

セッションデバッグは無効です。

true

セッションデバッグは有効です。

depend-on

オプション。このタスクが依存するタスク識別子の配列。このタスクは、これらのタスクが完了するまで実行されません。

env

オプション。タスクのビルド環境がオーバーライドされます。次のプロパティが含まれています。

compute-type

タスクに使用するコンピューティングタイプの識別子。指定できる値については、「ビルド環境のコンピューティングモードおよびタイプ」の「computeType」を参照してください。

フリート

タスクに使用するフリートの識別子。詳細については、「リザーブドキャパシティキャパシティフリートでビルドを実行」を参照してください。

画像

タスクに使用するイメージの識別子。指定できる値については、「CodeBuild に用意されている Docker イメージ」の「イメージ識別子」を参照してください。

privileged-mode

Docker コンテナ内の Docker デーモンを実行するかどうかを示すブール値。ビルドプロジェクトを使用して Docker イメージをビルドする場合にのみ、true に設定します。そうしないと、Docker デーモンとやり取りしようとするビルドは失敗します。デフォルトの設定は、false です。

$type

タスクに使用する環境タイプの識別子です。指定できる値については、「ビルド環境のコンピューティングモードおよびタイプ」の「環境タイプ」を参照してください。

variables

ビルド環境に存在する環境変数。詳細については「環境変数」を参照してください。

注記

compute-typefleet は、単一のビルドの同じ識別子では指定できないことに注意してください。

ignore-failure

オプション。このビルドタスクの失敗を無視できるかどうかを示すブール値。

false

デフォルト値。このビルドタスクが失敗すると、バッチビルドが失敗します。

true

このビルドタスクが失敗した場合でも、バッチビルドが成功します。

ビルドグラフの buildspec エントリの例を次に示します。

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

batch/build-list

ビルドリストを定義します。ビルドリストは、並行して実行されるタスクの数を定義するために使用されます。詳細については、「ビルドリスト」を参照してください。

この要素には、ビルドタスクの配列が含まれます。各ビルドタスクには、以下のプロパティが含まれます。

ID

必須。タスクの識別子。

buildspec

オプション。このタスクに使用する buildspec ファイルのパスとファイル名。このパラメータを指定しないと、現在の buildspec ファイルが使用されます。

debug-session

オプション。セッションデバッグがこのバッチビルドで有効かどうかを示す、ブール値。セッションデバッグの詳細については、「Session Manager を使用してビルドをデバッグする」を参照してください。

false

セッションデバッグは無効です。

true

セッションデバッグは有効です。

env

オプション。タスクのビルド環境がオーバーライドされます。次のプロパティが含まれています。

compute-type

タスクに使用するコンピューティングタイプの識別子。指定できる値については、「ビルド環境のコンピューティングモードおよびタイプ」の「computeType」を参照してください。

フリート

タスクに使用するフリートの識別子。詳細については「リザーブドキャパシティキャパシティフリートでビルドを実行」を参照してください。

画像

タスクに使用するイメージの識別子。指定できる値については、「CodeBuild に用意されている Docker イメージ」の「イメージ識別子」を参照してください。

privileged-mode

Docker コンテナ内の Docker デーモンを実行するかどうかを示すブール値。ビルドプロジェクトを使用して Docker イメージをビルドする場合にのみ、true に設定します。そうしないと、Docker デーモンとやり取りしようとするビルドは失敗します。デフォルトの設定は、false です。

$type

タスクに使用する環境タイプの識別子です。指定できる値については、「ビルド環境のコンピューティングモードおよびタイプ」の「環境タイプ」を参照してください。

variables

ビルド環境に存在する環境変数。詳細については「環境変数」を参照してください。

注記

compute-typefleet は、単一のビルドの同じ識別子では指定できないことに注意してください。

ignore-failure

オプション。このビルドタスクの失敗を無視できるかどうかを示すブール値。

false

デフォルト値。このビルドタスクが失敗すると、バッチビルドが失敗します。

true

このビルドタスクが失敗しても、バッチビルドは成功します。

buildspec エントリの例を次に示します。

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

batch/build-matrix

ビルドマトリックスを定義します。ビルドマトリックスは、並行して実行される異なる構成のタスクを定義します。CodeBuild は、設定可能な組み合わせごとに個別のビルドを作成します。詳細については、「ビルドマトリックス」を参照してください。

static

静的プロパティは、すべてのビルドタスクに適用されます。

ignore-failure

オプション。このビルドタスクの失敗を無視できるかどうかを示すブール値。

false

デフォルト値。このビルドタスクが失敗すると、バッチビルドが失敗します。

true

このビルドタスクが失敗しても、バッチビルドは成功します。

env

オプション。ビルド環境はすべてのタスクに対して上書きされます。

privileged-mode

Docker コンテナ内の Docker デーモンを実行するかどうかを示すブール値。ビルドプロジェクトを使用して Docker イメージをビルドする場合にのみ、true に設定します。そうしないと、Docker デーモンとやり取りしようとするビルドは失敗します。デフォルトの設定は、false です。

$type

タスクに使用する環境タイプの識別子です。指定できる値については、「ビルド環境のコンピューティングモードおよびタイプ」の「環境タイプ」を参照してください。

dynamic

動的プロパティはビルドマトリックスを定義します。

buildspec

オプション。これらのタスクに使用する buildspec ファイルのパスとファイル名を含む配列。このパラメータを指定しないと、現在の buildspec ファイルが使用されます。

env

オプション。これらのタスクでは、ビルド環境が上書きされます。

compute-type

これらのタスクに使用するコンピューティングタイプの識別子を含む配列。指定できる値については、「ビルド環境のコンピューティングモードおよびタイプ」の「computeType」を参照してください。

画像

これらのタスクに使用するイメージの識別子を含む配列。指定できる値については、「CodeBuild に用意されている Docker イメージ」の「イメージ識別子」を参照してください。

variables

これらのタスクのビルド環境に存在する環境変数を含む配列。詳細については、「環境変数」を参照してください。

ビルドマトリックス「buildspec」のエントリの例を次に示します。

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

詳細については、「ビルドマトリックス」を参照してください。

batch/build-fanout

ビルドファンアウトを定義します。ビルドファンアウトは、並行して実行される複数のビルドに分割されるタスクを定義するために使用されます。詳細については、「バッチビルドで並列テストを実行する」を参照してください。

この要素には、複数のビルドに分割できるビルドタスクが含まれています。build-fanout セクションには、以下のプロパティが含まれています。

parallelism

必須。テストを並行して実行するビルドの数。

ignore-failure

オプション。いずれかのファンアウトビルドタスクで発生した失敗を無視できるかどうかを示すブール値。ignore-failure のこの値は、すべてのファンアウトビルドに適用されます。

'`false`'

デフォルト値。いずれかのファンアウトビルドタスクが失敗すると、バッチビルドが失敗します。

true

いずれかののビルドタスクが失敗した場合でも、バッチビルドが成功します。

ビルドファンアウト buildspec エントリの例を次に示します。

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'

詳細については、「ビルドファンアウト」および「CLI コマンド codebuild-tests-run を使用する」を参照してください。