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

Regra do CodeBuild

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

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.

Permissões de política de perfil de serviço

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

  • Categoria: Rule

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

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 (exemplo do 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 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.

nota

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

Exemplo de configuração de regra

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

Os recursos relacionados a seguir podem ajudar você a trabalhar com essa regra.