AWS CodeBuild - AWS CodePipeline

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

Permite executar compilações e testes como parte do pipeline. Ao executar uma ação de compilação ou teste do CodeBuild, os comandos especificados na especificação da compilação são executados dentro de um contêiner de CodeBuild. Todos os artefatos especificados como artefatos de entrada para uma ação CodeBuild estão disponíveis dentro do contêiner que executa os comandos. CodeBuild pode fornecer uma ação de compilação ou teste. Para obter mais informações, consulte o Guia do usuário do AWS CodeBuild.

Quando você usa o assistente do CodePipeline no console para criar um projeto de compilação, o projeto de compilação do CodeBuild mostra que o provedor de origem é CodePipeline. Ao criar um projeto de compilação no console do CodeBuild, não é possível especificar CodePipeline como provedor de origem, mas adicionar a ação de compilação ao pipeline ajusta a origem no console do CodeBuild. Para obter mais informações, consulteProjectSourcenoAWS CodeBuildReferência de API do.

Tipo de ação

  • Categoria: Build ou Test

  • Proprietário: AWS

  • Fornecedor: CodeBuild

  • Versão: 1

Parâmetros de configuração

ProjectName

: obrigatório Sim

ProjectNameé o nome do projeto de compilação no CodeBuild.

PrimarySource

: obrigatório Condicional

O valor dePrimarySourcedeve ser o nome de um dos artefatos de entrada para a ação. CodeBuild procura o arquivo de especificação da compilação e executa os comandos dele 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 de 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 da propriedadeBatchEnabledpermite que a ação execute várias compilações na mesma execução de compilação.

Quando essa opção está habilitada, oCombineArtifactsestá disponível.

Para exemplos de pipeline com compilações em lote habilitadas, consulteIntegração do CodePipeline com CodeBuild e builds.

CombineArtifacts

: obrigatório Não

O valor booleano da propriedadeCombineArtifactscombina todos os artefatos de construção de uma compilação em lote em um único arquivo de artefato para a ação de construção.

Para usar essa opção, oBatchEnableddeve estar habilitado.

EnvironmentVariables

: obrigatório Não

O valor desse parâmetro é usado para definir variáveis de ambiente para a ação 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 (exemplo de CodeBuild).

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 oPARAMETER_STOREouSECRETS_MANAGER, esse valor deve ser o nome de um parâmetro que você já armazenou noAWSSystems Manager Parameter Store ou um segredo que você já armazenou noAWSSecrets Manager, respectivamente.

    nota

    Não recomendamos o uso de variáveis de ambiente para armazenar valores confidenciais, em especialAWSIDs de chave secreta e chaves de acesso secretas. Quando utiliza a consola do CodeBuild ouAWSCLI, 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.

nota

Quando você insere oname,value, etypepara a configuração das variáveis do ambiente, principalmente se a variável do ambiente contiver a sintaxe da variável de saída do CodePipeline, não ultrapasse o limite de 1000 caracteres do 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.

Input artifacts (Artefatos de entrada)

  • Número de artefatos: 1 to 5

  • Descrição: CodeBuild procura o arquivo de especificação da compilação e executa os comandos dele do diretório do artefato de origem primária. Quando mais de uma origem de entrada for especificada para a ação CodeBuild, esse artefato deve ser definido usando o comandoPrimarySourceno 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 no projeto CodeBuild do se torna o artefato de entrada usado pela ação CodeBuild do no pipeline.

Artefatos de saída

  • Número de artefatos: 0 to 5

  • Descrição: Eles podem ser usados para disponibilizar os artefatos definidos no arquivo de especificação da compilação do CodeBuild disponíveis para ações subsequentes no pipeline. Quando apenas um artefato de saída estiver definido, esse artefato poderá ser definido diretamente na seção artifacts do arquivo de especificação da compilação. Quando mais de um artefato de saída for especificado, todos os artefatos referenciados devem ser definidos como artefatos secundários no arquivo de especificação de compilação. Os nomes dos artefatos de saída no CodePipeline devem corresponder aos identificadores de artefato no arquivo de especificação de compilação.

    nota

    O artefato configurado no projeto CodeBuild do se torna o artefato de entrada do CodePipeline na ação do pipeline.

    Se oCombineArtifactsfor selecionado para compilações em lote, o local do artefato de saída contém os artefatos combinados de várias compilações que foram executadas na mesma execução.

Variáveis de saída

Esta ação produzirá como variáveis todas as variáveis de ambiente que foram exportadas como parte da compilação. Consulte https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html#exported-variables-build-spec para obter mais detalhes sobre como exportar variáveis de ambiente.

Para obter mais informações sobre variáveis no CodePipeline, consulteCodeBuild variáveis de saída.

Declaração de ação (exemplo de CodeBuild)

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" } ] } ] }

Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.