

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 배치 빌드 buildspec 참조
<a name="batch-build-buildspec"></a>

이 주제에는 배치 빌드 속성에 대한 buildspec 참조가 포함되어 있습니다.

## 일괄
<a name="build-spec.batch"></a>

선택적 매핑. 프로젝트에 대한 배치 빌드 설정입니다.

배치/**빠른 실패**  
선택 사항입니다. 하나 이상의 빌드 태스크가 실패할 경우 배치 빌드의 동작을 지정합니다.    
`false`  
기본값입니다. 실행 중인 모든 빌드가 완료됩니다.  
`true`  
빌드 태스크 중 하나가 실패하면 실행 중인 모든 빌드가 중지됩니다.

기본적으로 모든 배치 빌드 태스크는 buildspec 파일에 지정된 `env` 및 `phases`와 같은 빌드 설정으로 실행됩니다. `batch/<batch-type>/buildspec` 파라미터에 다른 `env` 값이나 다른 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) 섹션을 참조하세요.

이 요소에는 빌드 태스크의 배열이 포함되어 있습니다. 각 빌드 태스크는 다음 속성을 포함합니다.

**identifier**  
필수 사항입니다. 태스크의 식별자입니다.

**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)을 참조하세요.  
**image**  
태스크에 사용할 이미지의 식별자입니다. 가능한 값은 [CodeBuild가 제공하는 도커 이미지](build-env-ref-available.md)의 **이미지 식별자**를 참조하세요.  
**privileged-mode**  
Docker 컨테이너 내부에서 Docker 데몬(daemon)을 실행할지 여부를 나타내는 부울 값입니다. 빌드 프로젝트가 도커 이미지를 빌드하는 데 사용되는 경우에만 `true`로 설정합니다. 그렇지 않으면 도커 데몬과 상호 작용을 시도하는 빌드가 실패합니다. 기본 설정은 `false`입니다.  
**type**  
태스크에 사용할 환경 유형의 식별자입니다. 가능한 값은 [빌드 환경 컴퓨팅 모드 및 유형](build-env-ref-compute-types.md)에서 **환경 유형**을 참조하세요.  
**variables**  
빌드 환경에 표시될 환경 변수입니다. 자세한 내용은 [env/variables](build-spec-ref.md#build-spec.env.variables) 섹션을 참조하세요.
단일 빌드의 동일한 식별자에는 **컴퓨팅 유형**과 **플릿**을 제공할 수 없습니다.

**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) 섹션을 참조하세요.

이 요소에는 빌드 태스크의 배열이 포함되어 있습니다. 각 빌드 태스크는 다음 속성을 포함합니다.

**identifier**  
필수 사항입니다. 태스크의 식별자입니다.

**buildspec**  
선택 사항입니다. 태스크에 사용할 buildspec 파일의 경로 및 파일 이름입니다. 이 파라미터를 지정하지 않으면 현재 buildspec인 파일이 사용됩니다.

**debug-session**  
선택 사항입니다. 이 배치 빌드에 세션 디버깅을 활성화할지를 여부를 나타내는 부울 값입니다. 세션 디버깅에 대한 자세한 내용은 [Session Manager를 사용하여 빌드 디버그](session-manager.md) 섹션을 참조하세요.    
`false`  
세션 디버깅이 비활성화되었습니다.  
`true`  
세션 디버깅이 활성화되었습니다.

**env**  
선택 사항입니다. 태스크에 대한 빌드 환경 재정의입니다. 여기에는 다음 속성이 포함됩니다.    
**compute-type**  
태스크에 사용할 컴퓨팅 유형의 식별자입니다. 가능한 값은 [빌드 환경 컴퓨팅 모드 및 유형](build-env-ref-compute-types.md)의 **computeType**을 참조하세요.  
** 플릿**  
작업에 사용할 플릿의 식별자입니다. 자세한 정보는 [예약 용량 플릿에서 빌드 실행](fleets.md)을 참조하세요.  
**image**  
태스크에 사용할 이미지의 식별자입니다. 가능한 값은 [CodeBuild가 제공하는 도커 이미지](build-env-ref-available.md)의 **이미지 식별자**를 참조하세요.  
**privileged-mode**  
Docker 컨테이너 내부에서 Docker 데몬(daemon)을 실행할지 여부를 나타내는 부울 값입니다. 빌드 프로젝트가 도커 이미지를 빌드하는 데 사용되는 경우에만 `true`로 설정합니다. 그렇지 않으면 도커 데몬과 상호 작용을 시도하는 빌드가 실패합니다. 기본 설정은 `false`입니다.  
**type**  
태스크에 사용할 환경 유형의 식별자입니다. 가능한 값은 [빌드 환경 컴퓨팅 모드 및 유형](build-env-ref-compute-types.md)에서 **환경 유형**을 참조하세요.  
**variables**  
빌드 환경에 표시될 환경 변수입니다. 자세한 내용은 [env/variables](build-spec-ref.md#build-spec.env.variables) 섹션을 참조하세요.
단일 빌드의 동일한 식별자에는 **컴퓨팅 유형**과 **플릿**을 제공할 수 없습니다.

**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 데몬(daemon)을 실행할지 여부를 나타내는 부울 값입니다. 빌드 프로젝트가 도커 이미지를 빌드하는 데 사용되는 경우에만 `true`로 설정합니다. 그렇지 않으면 도커 데몬과 상호 작용을 시도하는 빌드가 실패합니다. 기본 설정은 `false`입니다.  
**type**  
태스크에 사용할 환경 유형의 식별자입니다. 가능한 값은 [빌드 환경 컴퓨팅 모드 및 유형](build-env-ref-compute-types.md)에서 **환경 유형**을 참조하세요.

**dynamic**  
동적 속성은 빌드 매트릭스를 정의합니다.    
**buildspec**  
선택 사항입니다. 이러한 태스크에 사용할 buildspec 파일의 경로와 파일 이름을 포함하는 배열입니다. 이 파라미터를 지정하지 않으면 현재 buildspec인 파일이 사용됩니다.  
**env**  
선택 사항입니다. 이러한 태스크에 대해 빌드 환경이 재정의됩니다.    
**compute-type**  
이러한 태스크에 사용할 컴퓨팅 유형의 식별자가 포함된 배열입니다. 가능한 값은 [빌드 환경 컴퓨팅 모드 및 유형](build-env-ref-compute-types.md)의 **computeType**을 참조하세요.  
**image**  
이러한 태스크에 사용할 이미지의 식별자가 포함된 배열입니다. 가능한 값은 [CodeBuild가 제공하는 도커 이미지](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) 및 [`codebuild-tests-run` CLI 명령 사용](parallel-test-tests-run.md)(을)를 참조하세요.