

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

# CodeBuild 규칙
<a name="rule-reference-CodeBuild"></a>

조건을 생성할 때 CodeBuild 규칙을 추가할 수 있습니다. 이 섹션에서는 규칙 파라미터에 대한 참조를 제공합니다. 규칙 및 조건에 대한 자세한 내용은 [스테이지 조건은 어떻게 작동하나요?](concepts-how-it-works-conditions.md) 섹션을 참조하세요.

CodeBuild 규칙을 사용하여 빌드 프로젝트의 성공적인 실행이 beforeEntry 조건에 대한 빌드 실행 성공과 같은 규칙 기준을 충족하는 조건을 생성할 수 있습니다.

**참고**  
**건너뛰기** 결과로 구성된 beforeEntry 조건의 경우 `LambdaInvoke` 및 `VariableCheck` 규칙만 사용할 수 있습니다.

**Topics**
+ [서비스 역할 정책 권한](#rule-reference-Commands-policy)
+ [규칙 타입](#rule-reference-Commands-type)
+ [구성 파라미터](#rule-reference-Commands-config)
+ [규칙 구성의 예](#rule-reference-Commands-example)
+ [다음 사항도 참조하세요.](#rule-reference-Commands-links)

## 서비스 역할 정책 권한
<a name="rule-reference-Commands-policy"></a>

이 규칙에 대한 권한의 경우 CodePipeline 서비스 역할 정책 문에 다음을 추가합니다. 권한을 리소스 수준으로 범위를 좁힙니다.

```
{
    "Effect": "Allow",
    "Action": [
        "codebuild:BatchGetBuilds",
        "codebuild:StartBuild"
    ],
    "Resource": "resource_ARN"
},
```

## 규칙 타입
<a name="rule-reference-Commands-type"></a>
+ 범주: `Rule`
+ 소유자: `AWS`
+ 공급자: `CodeBuild`
+ 버전: `1`

## 구성 파라미터
<a name="rule-reference-Commands-config"></a>

**ProjectName**  
필수 여부: 예  
`ProjectName`은 CodeBuild에서 빌드 프로젝트의 이름입니다.

**PrimarySource**  
필수 항목 여부: 조건부  
`PrimarySource` 파라미터 값은 작업에 대한 입력 아티팩트 중 하나의 이름이어야 합니다. CodeBuild는 buildspec 파일을 찾아 이 아티팩트의 압축 해제된 버전이 포함된 디렉터리에서 buildspec 명령을 실행합니다.  
CodeBuild 작업에 대해 여러 입력 아티팩트가 지정되는 경우 이 파라미터는 필수 항목입니다. 작업에 대해 소스 아티팩트가 하나만 있는 경우 해당 아티팩트의 기본값은 `PrimarySource` 아티팩트입니다.

**BatchEnabled**  
필수 여부: 아니요  
`BatchEnabled` 파라미터의 부울 값을 사용하면 작업이 동일한 빌드 실행에서 여러 빌드를 실행할 수 있습니다.  
이 옵션을 활성화하면 `CombineArtifacts` 옵션을 사용할 수 있습니다.  
배치 빌드가 활성화된 파이프라인 예제는 [CodePipeline과 CodeBuild 및 배치 빌드의 통합](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html)을 참조하세요.

**CombineArtifacts**  
필수 여부: 아니요  
`CombineArtifacts` 파라미터의 부울 값은 배치 빌드의 모든 빌드 아티팩트를 빌드 작업을 위한 단일 아티팩트 파일로 결합합니다.  
이 옵션을 사용하려면 `BatchEnabled` 파라미터를 활성화해야 합니다.

**EnvironmentVariables**  
필수 여부: 아니요  
이 파라미터의 값은 파이프라인의 CodeBuild 작업에 대한 환경 변수를 설정하는 데 사용됩니다. `EnvironmentVariables` 파라미터 값은 환경 변수 객체의 JSON 배열 형식을 취합니다. [작업 선언(CodeBuild 예제)](action-reference-CodeBuild.md#action-reference-CodeBuild-example)의 예제 파라미터를 참조하십시오.  
각 객체에는 세 부분이 있으며 모두 문자열입니다.  
+ `name`: 환경 변수의 이름 또는 키입니다.
+ `value`: 환경 변수의 값입니다. `PARAMETER_STORE` 또는 `SECRETS_MANAGER` 유형을 사용할 경우 이 값은 각각 이미 AWS Systems Manager Parameter Store에 저장한 파라미터 이름이거나 이미 AWS Secrets Manager에 저장한 암호여야 합니다.
**참고**  
환경 변수를 사용하여 중요한 값(특히 AWS 자격 증명)을 저장하는 것은 가급적 피해야 합니다. CodeBuild 콘솔 또는 AWS CLI를 사용하면 환경 변수가 일반 텍스트로 표시됩니다. 중요한 값의 경우 대신 `SECRETS_MANAGER` 유형을 사용하는 것이 좋습니다.
+ `type`: (선택 사항) 환경 변수의 유형입니다. 유효한 값은 `PARAMETER_STORE`, `SECRETS_MANAGER`또는 `PLAINTEXT`입니다. 지정하지 않으면 기본적으로 `PLAINTEXT`가 사용됩니다.
환경 변수 구성에 대해 `name`, `value` 및 `type`을 입력할 때, 특히 환경 변수에 CodePipeline 출력 변수 구문이 포함된 경우 구성 값 필드에 1000자 제한을 초과하지 마십시오. 이 제한을 초과하면 확인 오류가 반환됩니다.
자세한 내용을 알아보려면 AWS CodeBuild API 참조의 [EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)을 참조하세요. GitHub 브랜치 이름으로 확인되는 환경 변수를 포함하는 CodeBuild 작업의 예는 [예: CodeBuild 환경 변수와 함께 BranchName 변수 사용](actions-variables.md#actions-variables-examples-env-branchname) 섹션을 참조하세요.

## 규칙 구성의 예
<a name="rule-reference-Commands-example"></a>

------
#### [ YAML ]

```
name: codebuild-rule
ruleTypeId:
  category: Rule
  owner: AWS
  provider: CodeBuild
  version: '1'
configuration:
  ProjectName: my-buildproject
  EnvironmentVariables: '[{"name":"VAR1","value":"variable","type":"PLAINTEXT"}]'
inputArtifacts:
- name: SourceArtifact
region: us-east-1
```

------
#### [ JSON ]

```
{
    "name": "codebuild-rule",
    "ruleTypeId": {
        "category": "Rule",
        "owner": "AWS",
        "provider": "CodeBuild",
        "version": "1"
    },
    "configuration": {
        "ProjectName": "my-buildproject"
    },
    "inputArtifacts": [
        {
            "name": "SourceArtifact",
            "EnvironmentVariables": "[{\"name\":\"VAR1\",\"value\":\"variable\",\"type\":\"PLAINTEXT\"}]"
        }
    ],
    "region": "us-east-1"
}
```

------

## 다음 사항도 참조하세요.
<a name="rule-reference-Commands-links"></a>

이 규칙을 수행할 때 참조할 수 있는 관련 리소스는 다음과 같습니다.
+ 규칙 및 조건에 대한 자세한 내용은 *CodePipeline API 가이드*의 [조건](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html) 및 [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html)을 참조하세요.