

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# バッチビルドのビルド仕様 (buildspec) のリファレンス
<a name="batch-build-buildspec"></a>

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

## バッチ
<a name="build-spec.batch"></a>

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

batch/**fast-fail**  
オプション。1 つ以上のビルドタスクが失敗した場合のバッチビルドの動作を指定します。    
`false`  
デフォルト値。実行中のすべてのビルドが完了します。  
`true`  
ビルドタスクの 1 つが失敗すると、実行中のすべてのビルドが停止します。

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

`batch` プロパティの内容は、指定されたバッチビルドのタイプによって異なります。可能なバッチビルドタイプは次のとおりです。
+ [`batch/build-graph`](#build-spec.batch.build-graph)
+ [`batch/build-list`](#build-spec.batch.build-list)
+ [`batch/build-matrix`](#build-spec.batch.build-matrix)
+ [`batch/build-fanout`](#build-spec.batch.build-fanout)

## `batch/build-graph`
<a name="build-spec.batch.build-graph"></a>

*ビルドグラフ*を定義します。ビルドグラフは、バッチ内の他のタスクに依存する一連のタスクを定義します。詳細については、「[ビルドグラフ](batch-build.md#batch_build_graph)」を参照してください。

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

**ID**  
必須。タスクの識別子。

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

**debug-session**  
オプション。セッションデバッグがこのバッチビルドで有効かどうかを示す、ブール値。セッションデバッグの詳細については、「[Session Manager を使用してビルドをデバッグする](session-manager.md)」を参照してください。    
`false`  
セッションデバッグは無効です。  
`true`  
セッションデバッグは有効です。

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

**env**  
オプション。タスクのビルド環境がオーバーライドされます。次のプロパティが含まれています。    
**compute-type**  
タスクに使用するコンピューティングタイプの識別子。指定できる値については、「[ビルド環境のコンピューティングモードおよびタイプ](build-env-ref-compute-types.md)」の「**computeType**」を参照してください。  
** フリート**  
タスクに使用するフリートの識別子。詳細については、「[リザーブドキャパシティキャパシティフリートでビルドを実行](fleets.md)」を参照してください。  
**画像**  
タスクに使用するイメージの識別子。指定できる値については、「[CodeBuild に用意されている Docker イメージ](build-env-ref-available.md)」の「**イメージ識別子**」を参照してください。  
**privileged-mode**  
Docker コンテナ内の Docker デーモンを実行するかどうかを示すブール値。ビルドプロジェクトを使用して Docker イメージをビルドする場合にのみ、`true` に設定します。そうしないと、Docker デーモンとやり取りしようとするビルドは失敗します。デフォルトの設定は、`false` です。  
**\$1type**  
タスクに使用する環境タイプの識別子です。指定できる値については、「[ビルド環境のコンピューティングモードおよびタイプ](build-env-ref-compute-types.md)」の「**環境タイプ**」を参照してください。  
**variables**  
ビルド環境に存在する環境変数。詳細については「[env/variables](build-spec-ref.md#build-spec.env.variables)」を参照してください。
**compute-type** と **fleet** は、単一のビルドの同じ識別子では指定できないことに注意してください。

**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`
<a name="build-spec.batch.build-list"></a>

*ビルドリスト*を定義します。ビルドリストは、並行して実行されるタスクの数を定義するために使用されます。詳細については、「[ビルドリスト](batch-build.md#batch_build_list)」を参照してください。

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

**ID**  
必須。タスクの識別子。

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

**debug-session**  
オプション。セッションデバッグがこのバッチビルドで有効かどうかを示す、ブール値。セッションデバッグの詳細については、「[Session Manager を使用してビルドをデバッグする](session-manager.md)」を参照してください。    
`false`  
セッションデバッグは無効です。  
`true`  
セッションデバッグは有効です。

**env**  
オプション。タスクのビルド環境がオーバーライドされます。次のプロパティが含まれています。    
**compute-type**  
タスクに使用するコンピューティングタイプの識別子。指定できる値については、「[ビルド環境のコンピューティングモードおよびタイプ](build-env-ref-compute-types.md)」の「**computeType**」を参照してください。  
** フリート**  
タスクに使用するフリートの識別子。詳細については「[リザーブドキャパシティキャパシティフリートでビルドを実行](fleets.md)」を参照してください。  
**画像**  
タスクに使用するイメージの識別子。指定できる値については、「[CodeBuild に用意されている Docker イメージ](build-env-ref-available.md)」の「**イメージ識別子**」を参照してください。  
**privileged-mode**  
Docker コンテナ内の Docker デーモンを実行するかどうかを示すブール値。ビルドプロジェクトを使用して Docker イメージをビルドする場合にのみ、`true` に設定します。そうしないと、Docker デーモンとやり取りしようとするビルドは失敗します。デフォルトの設定は、`false` です。  
**\$1type**  
タスクに使用する環境タイプの識別子です。指定できる値については、「[ビルド環境のコンピューティングモードおよびタイプ](build-env-ref-compute-types.md)」の「**環境タイプ**」を参照してください。  
**variables**  
ビルド環境に存在する環境変数。詳細については「[env/variables](build-spec-ref.md#build-spec.env.variables)」を参照してください。
**compute-type** と **fleet** は、単一のビルドの同じ識別子では指定できないことに注意してください。

**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`
<a name="build-spec.batch.build-matrix"></a>

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

**static**  
静的プロパティは、すべてのビルドタスクに適用されます。    
**ignore-failure**  
オプション。このビルドタスクの失敗を無視できるかどうかを示すブール値。    
`false`  
デフォルト値。このビルドタスクが失敗すると、バッチビルドが失敗します。  
`true`  
このビルドタスクが失敗しても、バッチビルドは成功します。  
**env**  
オプション。ビルド環境はすべてのタスクに対して上書きされます。    
**privileged-mode**  
Docker コンテナ内の Docker デーモンを実行するかどうかを示すブール値。ビルドプロジェクトを使用して Docker イメージをビルドする場合にのみ、`true` に設定します。そうしないと、Docker デーモンとやり取りしようとするビルドは失敗します。デフォルトの設定は、`false` です。  
**\$1type**  
タスクに使用する環境タイプの識別子です。指定できる値については、「[ビルド環境のコンピューティングモードおよびタイプ](build-env-ref-compute-types.md)」の「**環境タイプ**」を参照してください。

**dynamic**  
動的プロパティはビルドマトリックスを定義します。    
**buildspec**  
オプション。これらのタスクに使用する buildspec ファイルのパスとファイル名を含む配列。このパラメータを指定しないと、現在の buildspec ファイルが使用されます。  
**env**  
オプション。これらのタスクでは、ビルド環境が上書きされます。    
**compute-type**  
これらのタスクに使用するコンピューティングタイプの識別子を含む配列。指定できる値については、「[ビルド環境のコンピューティングモードおよびタイプ](build-env-ref-compute-types.md)」の「**computeType**」を参照してください。  
**画像**  
これらのタスクに使用するイメージの識別子を含む配列。指定できる値については、「[CodeBuild に用意されている Docker イメージ](build-env-ref-available.md)」の「**イメージ識別子**」を参照してください。  
**variables**  
これらのタスクのビルド環境に存在する環境変数を含む配列。詳細については、「[env/variables](build-spec-ref.md#build-spec.env.variables)」を参照してください。

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

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

詳細については、「[ビルドマトリックス](batch-build.md#batch_build_matrix)」を参照してください。

## `batch/build-fanout`
<a name="build-spec.batch.build-fanout"></a>

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

この要素には、複数のビルドに分割できるビルドタスクが含まれています。`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'
```

詳細については、「[ビルドファンアウト](batch-build.md#batch_build_fanout)」および「[CLI コマンド `codebuild-tests-run` を使用する](parallel-test-tests-run.md)」を参照してください。