

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á.

# AWS CodeBuild referência de ação de criação e teste
<a name="action-reference-CodeBuild"></a>

Permite executar compilações e testes como parte do pipeline. Quando você executa uma ação de CodeBuild compilação ou teste, os comandos especificados no buildspec são executados dentro de um contêiner. CodeBuild Todos os artefatos especificados como artefatos de entrada para uma CodeBuild ação estão disponíveis dentro do contêiner que executa os comandos. CodeBuild pode fornecer uma ação de criação ou teste. Para obter mais informações, consulte o [Guia do usuário do AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/).

Quando você usa o CodePipeline assistente no console para criar um projeto de compilação, o projeto de CodeBuild compilação mostra o provedor de origem CodePipeline. Ao criar um projeto de compilação no CodeBuild console, você não pode especificar CodePipeline como provedor de origem, mas adicionar a ação de compilação ao seu pipeline ajusta a origem no CodeBuild console. Para obter mais informações, consulte [ProjectSource](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_ProjectSource.html) na *Referência de APIs do AWS CodeBuild *.

**Topics**
+ [Tipo de ação](#action-reference-CodeBuild-type)
+ [Parâmetros de configuração](#action-reference-CodeBuild-config)
+ [Input artifacts (Artefatos de entrada)](#action-reference-CodeBuild-input)
+ [Artefatos de saída](#action-reference-CodeBuild-output)
+ [Variáveis de saída](#action-reference-CodeBuild-variables)
+ [Permissões da função de serviço: CodeBuild ação](#edit-role-codebuild)
+ [Declaração de ação (CodeBuild exemplo)](#action-reference-CodeBuild-example)
+ [Consulte também](#action-reference-CodeBuild-links)

## Tipo de ação
<a name="action-reference-CodeBuild-type"></a>
+ Categoria: `Build` ou `Test`
+ Proprietário: `AWS`
+ Fornecedor: `CodeBuild`
+ Versão: `1`

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

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

**PrimarySource**  
Obrigatório: condicional  
O valor do `PrimarySource` parâmetro deve ser o nome de um dos artefatos de entrada para a açã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 funis com compilações em lote ativadas, consulte [CodePipeline integração com CodeBuild e compilações em lote](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-batch.html).

**BuildspecOverride**  
Obrigatório: não  
Uma declaração de buildspec em linha ou do arquivo buildspec que substitui a mais recente definida no projeto de compilação, apenas para esta compilação. O buildspec definido no projeto não é alterado.  
Se for definido, esse valor poderá ser um dos seguintes:  
+ Uma definição de buildspec em linha. Para obter mais informações, consulte a referência de sintaxe em [Sintaxe de buildspec](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-syntax).
+ O caminho para um arquivo buildspec alternativo relativo ao valor da variável de ambiente `CODEBUILD_SRC_DIR` interna ou ao caminho para um bucket do S3. O bucket deve estar na mesma Região da AWS do projeto de compilação. Especifique o arquivo buildspec usando seu ARN (por exemplo, `arn:aws:s3:::my-codebuild-sample2/buildspec.yml`). Se esse valor não for fornecido ou for definido como uma string vazia, o código-fonte deverá conter um arquivo buildspec no diretório raiz. Para saber mais sobre como adicionar um caminho, consulte [Nome do arquivo e local de armazenamento de buildspec](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#build-spec-ref-name-storage).
Como essa propriedade permite a você alterar os comandos de compilação que serão executados no contêiner, observe se uma entidade principal do IAM com a capacidade de chamar essa API e definir esse parâmetro consegue substituir as configurações padrão. Além disso, é recomendável usar um local de buildspec confiável, como um arquivo no repositório de origem ou um bucket do Amazon S3.

**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 desse 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-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 `SECRETS_MANAGER` tipo `PARAMETER_STORE` ou, esse valor deve ser o nome de um parâmetro que você já armazenou no AWS Systems Manager Parameter Store ou um segredo que você já armazenou no AWS Secrets Manager, respectivamente.
**nota**  
Nós desencorajamos fortemente o uso de variáveis de ambiente para armazenar valores confidenciais, especialmente AWS credenciais. Quando você usa o CodeBuild console 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 o `name``value`, e `type` para sua configuração de variáveis de ambiente, especialmente se a variável de ambiente contiver a sintaxe da variável de CodePipeline saída, não exceda o limite de 1000 caracteres para o 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)a Referência AWS CodeBuild da API. Para obter um exemplo de CodeBuild ação com uma variável de ambiente que é resolvida com o nome da GitHub ramificação, consulte[Exemplo: use uma BranchName variável com variáveis de CodeBuild ambiente](actions-variables.md#actions-variables-examples-env-branchname).

## Input artifacts (Artefatos de entrada)
<a name="action-reference-CodeBuild-input"></a>
+ **Número de artefatos:** `1 to 5`
+ **Descrição:** CodeBuild procura o arquivo buildspec e executa os comandos buildspec no diretório do artefato de origem primária. Quando uma única fonte de entrada é especificada ou quando mais de uma fonte de entrada é especificada para a CodeBuild ação, o único artefato ou o artefato primário, no caso de várias fontes de entrada, deve ser definido usando o parâmetro de configuração da `PrimarySource` ação em. CodePipeline 

  Cada artefato de entrada é extraído para seu próprio diretório, cujos locais são armazenados em variáveis de ambiente. O diretório do artefato de origem primária é disponibilizado com `$CODEBUILD_SRC_DIR`. Os diretórios de todos os outros artefatos de entrada são disponibilizados com `$CODEBUILD_SRC_DIR_yourInputArtifactName`.
**nota**  
O artefato configurado em seu CodeBuild projeto se torna o artefato de entrada usado pela CodeBuild ação em seu pipeline.

## Artefatos de saída
<a name="action-reference-CodeBuild-output"></a>
+ **Número de artefatos:** `0 to 5` 
+ **Descrição:** eles podem ser usados para disponibilizar os artefatos definidos no arquivo CodeBuild buildspec para ações subsequentes no pipeline. Quando apenas um artefato de saída é definido, esse artefato pode ser definido diretamente na seção `artifacts` do arquivo buildspec. Quando mais de um artefato de saída é especificado, todos os artefatos referenciados devem ser definidos como artefatos secundários no arquivo buildspec. Os nomes dos artefatos de saída CodePipeline devem corresponder aos identificadores de artefatos no arquivo buildspec.
**nota**  
O artefato configurado em seu CodeBuild projeto se torna o artefato CodePipeline de entrada em sua ação de pipeline.

  Se o parâmetro `CombineArtifacts` for selecionado para compilações em lote, o local do artefato de saída conterá os artefatos combinados de várias compilações processadas na mesma execução.

## Variáveis de saída
<a name="action-reference-CodeBuild-variables"></a>

Esta ação produzirá como variáveis todas as variáveis de ambiente que foram exportadas como parte da compilação. Para obter mais detalhes sobre como exportar variáveis de ambiente, consulte [ EnvironmentVariable](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_EnvironmentVariable.html)o *Guia AWS CodeBuild da API*.

Para obter mais informações sobre o uso de variáveis de CodeBuild ambiente em CodePipeline, consulte os exemplos em[CodeBuild variáveis de saída de ação](reference-variables.md#reference-variables-list-configured-codebuild). Para obter uma lista das variáveis de ambiente que você pode usar CodeBuild, consulte [Variáveis de ambiente em ambientes de compilação](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) no *Guia AWS CodeBuild do usuário*.

## Permissões da função de serviço: CodeBuild ação
<a name="edit-role-codebuild"></a>

Para obter CodeBuild suporte, adicione o seguinte à sua declaração de política:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "codebuild:BatchGetBuilds",
                "codebuild:StartBuild",
                "codebuild:BatchGetBuildBatches",
                "codebuild:StartBuildBatch"
            ],
            "Resource": [
                "arn:aws:codebuild:*:111122223333:project/[[ProjectName]]"
            ],
            "Effect": "Allow"
        }
    ]
}
```

------

## Declaração de ação (CodeBuild exemplo)
<a name="action-reference-CodeBuild-example"></a>

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

```
Name: Build
Actions:
  - Name: PackageExport
    ActionTypeId:
      Category: Build
      Owner: AWS
      Provider: CodeBuild
      Version: '1'
    RunOrder: 1
    Configuration:
      BatchEnabled: 'true'
      CombineArtifacts: 'true'
      ProjectName: my-build-project
      PrimarySource: MyApplicationSource1
      EnvironmentVariables: '[{"name":"TEST_VARIABLE","value":"TEST_VALUE","type":"PLAINTEXT"},{"name":"ParamStoreTest","value":"PARAMETER_NAME","type":"PARAMETER_STORE"}]'
    OutputArtifacts:
      - Name: MyPipeline-BuildArtifact
    InputArtifacts:
      - Name: MyApplicationSource1
      - Name: MyApplicationSource2
```

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

```
{
    "Name": "Build",
    "Actions": [
        {
            "Name": "PackageExport",
            "ActionTypeId": {
                "Category": "Build",
                "Owner": "AWS",
                "Provider": "CodeBuild",
                "Version": "1"
            },
            "RunOrder": 1,
            "Configuration": {
                "BatchEnabled": "true",
                "CombineArtifacts": "true",
                "ProjectName": "my-build-project",
                "PrimarySource": "MyApplicationSource1",
                "EnvironmentVariables": "[{\"name\":\"TEST_VARIABLE\",\"value\":\"TEST_VALUE\",\"type\":\"PLAINTEXT\"},{\"name\":\"ParamStoreTest\",\"value\":\"PARAMETER_NAME\",\"type\":\"PARAMETER_STORE\"}]"
            },
            "OutputArtifacts": [
                {
                    "Name": "MyPipeline-BuildArtifact"
                }
            ],
            "InputArtifacts": [
                {
                    "Name": "MyApplicationSource1"
                },
                {
                    "Name": "MyApplicationSource2"
                }
            ]
        }
    ]
}
```

------

## Consulte também
<a name="action-reference-CodeBuild-links"></a>

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
+ [AWS CodeBuild Guia do usuário](https://docs.aws.amazon.com/codebuild/latest/userguide/) — Para ver um exemplo de pipeline com uma CodeBuild ação, consulte [Usar CodePipeline com CodeBuild para testar código e executar compilações.](https://docs.aws.amazon.com/codebuild/latest/userguide/how-to-create-pipeline.html) Para exemplos de projetos com vários CodeBuild artefatos de entrada e saída, consulte [CodePipelineIntegração com CodeBuild e várias fontes de entrada e amostra de artefatos de saída e](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-pipeline-multi-input-output.html) Amostra de [várias fontes de entrada e artefatos de saída](https://docs.aws.amazon.com/codebuild/latest/userguide/sample-multi-in-out.html).
+ [Tutorial: crie um pipeline que crie e teste seu aplicativo Android com AWS Device Farm](tutorials-codebuild-devicefarm.md)— Este tutorial fornece um exemplo de arquivo buildspec e um aplicativo de amostra para criar um pipeline com uma GitHub fonte que cria e testa um aplicativo Android com e. CodeBuild AWS Device Farm
+ [Referência de especificação de compilação para CodeBuild ](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) — Este tópico de referência fornece definições e exemplos para entender os arquivos CodeBuild buildspec. Para obter uma lista das variáveis de ambiente que você pode usar CodeBuild, consulte [Variáveis de ambiente em ambientes de compilação](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html) no *Guia AWS CodeBuild do usuário*.