

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Regra do CodeBuild
<a name="rule-reference-CodeBuild"></a>

Ao criar uma condição, você pode adicionar a regra do CodeBuild. Esta seção fornece uma referência para os parâmetros da regra. Para ter mais informações sobre regras e condições, consulte [Como funcionam as condições do estágio?](concepts-how-it-works-conditions.md).

Você pode usar a regra do CodeBuild para criar uma condição na qual a execução bem-sucedida do projeto de compilação atenda aos critérios da regra, como a execução bem-sucedida da compilação para uma condição beforeEntry.

**nota**  
Para condições beforeEntry configuradas com o resultado **Ignorar**, somente as seguintes regras estão disponíveis: `LambdaInvoke` e `VariableCheck`.

**Topics**
+ [Permissões de política de perfil de serviço](#rule-reference-Commands-policy)
+ [Tipo de regra](#rule-reference-Commands-type)
+ [Parâmetros de configuração](#rule-reference-Commands-config)
+ [Exemplo de configuração de regra](#rule-reference-Commands-example)
+ [Consulte também](#rule-reference-Commands-links)

## Permissões de política de perfil de serviço
<a name="rule-reference-Commands-policy"></a>

Para permissões para essa regra, adicione o seguinte à declaração da política do perfil de serviço do CodePipeline. Reduza o escopo das permissões até o nível do recurso.

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

## Tipo de regra
<a name="rule-reference-Commands-type"></a>
+ Categoria: `Rule`
+ Proprietário: `AWS`
+ Fornecedor: `CodeBuild`
+ Versão: `1`

## Parâmetros de configuração
<a name="rule-reference-Commands-config"></a>

**ProjectName**  
Obrigatório: Sim  
`ProjectName` é o nome do projeto de compilação no CodeBuild.

**PrimarySource**  
Obrigatório: condicional  
O valor do parâmetro `PrimarySource` deve ser o nome de um dos artefatos de entrada para a ação. O CodeBuild procura o arquivo buildspec e executa os comandos buildspec no diretório que contém a versão descompactada desse artefato.  
Esse parâmetro será necessário se vários artefatos de entrada forem especificados para uma ação do CodeBuild. Quando houver apenas um artefato de origem para a ação, o artefato `PrimarySource` assumirá esse artefato como padrão.

**BatchEnabled**  
Obrigatório: Não  
O valor booleano do parâmetro `BatchEnabled` permite que a ação execute várias compilações na mesma execução de compilação.  
Quando esta opção está habilitada, a opção `CombineArtifacts` está disponível.  
Para exemplos de pipeline com compilações em lote habilitadas, consulte [Integração do CodePipeline ao CodeBuild e compilações em lote](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html).

**CombineArtifacts**  
Obrigatório: Não  
O valor booleano do parâmetro `CombineArtifacts` combina todos os artefatos de uma compilação em lote em um único arquivo de artefato para a ação de compilação.  
Para usar esta opção, o parâmetro `BatchEnabled` deve estar ativado.

**EnvironmentVariables**  
Obrigatório: Não  
O valor deste parâmetro é usado para definir variáveis de ambiente para a ação do CodeBuild no pipeline. O valor do parâmetro `EnvironmentVariables` assume a forma de uma matriz JSON de objetos de variáveis de ambiente. Consulte o parâmetro de exemplo em [Declaração de ação (CodeBuild exemplo)](action-reference-CodeBuild.md#action-reference-CodeBuild-example).  
Cada objeto tem três partes, todas são strings:  
+ `name`: o nome ou a chave da variável de ambiente. 
+ `value`: o valor da variável de ambiente. Ao usar o tipo `PARAMETER_STORE` ou `SECRETS_MANAGER`, este valor deve ser o nome de um parâmetro já armazenado no AWS Systems Manager Parameter Store ou um segredo já armazenado no AWS Secrets Manager, respectivamente.
**nota**  
Não recomendamos o uso de variáveis de ambiente para armazenar valores confidenciais, principalmente credenciais da AWS. Quando você usa o console do CodeBuild ou a AWS CLI, as variáveis de ambiente são exibidas em texto sem formatação. Para valores confidenciais, recomendamos usar o tipo `SECRETS_MANAGER`. 
+ `type`: (opcional) o tipo da variável de ambiente. Os valores válidos são `PARAMETER_STORE`, `SECRETS_MANAGER` ou `PLAINTEXT`. Se não especificado, assumirá como padrão `PLAINTEXT`.
Ao inserir `name`, `value` e `type` na configuração das variáveis de ambiente, principalmente se a variável de ambiente contiver a sintaxe da variável de saída do CodePipeline, não ultrapasse o limite de 1000 caracteres no campo de valor da configuração. Um erro de validação será retornado quando esse limite for excedido.
Para obter mais informações, consulte [EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html) na Referência da API do AWS CodeBuild. Para ver um exemplo de ação do CodeBuild com uma variável de ambiente que retorna o nome de ramificação do GitHub, consulte [Exemplo: use uma BranchName variável com variáveis de CodeBuild ambiente](actions-variables.md#actions-variables-examples-env-branchname).

## Exemplo de configuração de regra
<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"
}
```

------

## Consulte também
<a name="rule-reference-Commands-links"></a>

Os recursos relacionados a seguir podem ajudar você a trabalhar com essa regra.
+ Para ter mais informações sobre regras e condições, consulte [Condition](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_Condition.html), [RuleTypeId](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleTypeId.html) e [RuleExecution](https://docs.aws.amazon.com/codepipeline/latest/APIReference/API_RuleExecution.html) no *Guia de API do CodePipeline*.