Alterar configurações de um projeto de compilação (console) - AWS CodeBuild

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

Alterar configurações de um projeto de compilação (console)

Para alterar as configurações de um projeto de compilação, execute o seguinte procedimento:

  1. Abra o AWS CodeBuild console em https://console.aws.amazon.com/codesuite/codebuild/home.

  2. No painel de navegação, selecione Build projects.

  3. Execute um destes procedimentos:

    • Selecione o link para o projeto de compilação que você deseja alterar e selecione Build details (Detalhes da compilação).

    • Selecione o botão ao lado do projeto de compilação que você deseja alterar, selecione View details (Visualizar detalhes) e, em seguida, selecione Build details (Detalhes da compilação).

É possível modificar as seguintes seções:

Configuração de projetos

Na seção Configuração do projeto, selecione Editar. Quando as alterações forem concluídas, selecione Atualizar configuração para salvar a nova configuração.

É possível modificar as propriedades a seguir.

Descrição

Insira uma descrição opcional do projeto de compilação para ajudar outros usuários a entender para que esse projeto é usado.

Emblema da compilação

Selecione Enable build badge (Permitir distintivo de compilação) para que o status de compilação do projeto fique visível e possa ser incorporado. Para ter mais informações, consulte Exemplo de emblemas de compilação.

nota

O emblema de compilação não se aplicará se o provedor de origem for Amazon S3.

Habilitar limite de compilações simultâneas

Se você quiser limitar o número de compilações simultâneas para esse projeto, execute as seguintes etapas:

  1. Selecione Restringir número de compilações simultâneas que este projeto pode iniciar.

  2. Em Limite de compilações simultâneas, insira o número máximo de compilações simultâneas permitidas para esse projeto. Esse limite não pode ser maior que o limite de compilações simultâneas definido para a conta. Se você tentar inserir um número maior que o limite da conta, uma mensagem de erro será exibida.

Novas compilações só são iniciadas se o número atual de compilações for menor ou igual a esse limite. Se a contagem de compilações atual atender a esse limite, novas compilações serão limitadas e não serão executadas.

Habilitar acesso a compilações públicas

Para disponibilizar os resultados de compilação do seu projeto ao público, incluindo usuários sem acesso a uma AWS conta, selecione Habilitar acesso público à compilação e confirme que você deseja tornar públicos os resultados da compilação. As seguintes propriedades são usadas para projetos de compilações públicas:

Perfil de serviço de compilação pública

Selecione Nova função de serviço se quiser CodeBuild criar uma nova função de serviço para você ou Função de serviço existente se quiser usar uma função de serviço existente.

A função pública do serviço de compilação CodeBuild permite ler os CloudWatch registros e baixar os artefatos do Amazon S3 para as compilações do projeto. Isso é necessário para disponibilizar os logs e os artefatos de compilação do projeto ao público.

Perfil de serviço

Insira o nome do novo perfil de serviço ou de um perfil de serviço existente.

Para tornar os resultados de compilação do projeto privados, desmarque Habilitar acesso a compilações públicas.

Para ter mais informações, consulte Projetos de compilação no AWS CodeBuild.

Atenção

Lembre-se do seguinte ao tornar públicos os resultados de compilação do projeto:

  • Todos os resultados de compilação, os logs e os artefatos de um projeto, inclusive compilações executadas quando o projeto era privado, ficam disponíveis ao público.

  • Todos os logs e os artefatos de compilação ficam disponíveis ao público. Variáveis de ambiente, código-fonte e outras informações confidenciais podem ter sido enviados aos logs e aos artefatos de compilação. É preciso ter cuidado com as informações enviadas aos logs de compilação. Algumas das práticas recomendadas são:

    • Não armazene valores confidenciais, especialmente chaves de AWS acesso IDs e chaves de acesso secretas, em variáveis de ambiente. Recomendamos que você use um repositório de parâmetros do Amazon EC2 Systems Manager ou AWS Secrets Manager armazene valores confidenciais.

    • Siga Práticas recomendadas para usar webhooks para limitar quais entidades podem acionar uma compilação e não armazene o buildspec no próprio projeto, para garantir que os webhooks sejam o mais seguros possível.

  • Um usuário mal-intencionado pode usar compilações públicas para distribuir artefatos danosos. Recomendamos que os administradores do projeto analisem todas as solicitações pull para verificar se a solicitação pull é uma alteração legítima. Também recomendamos que você valide todos os artefatos com as somas de verificação para garantir que os artefatos corretos estejam sendo baixados.

Informações adicionais

Em Tags, insira o nome e o valor de todas as tags que você deseja que AWS os serviços de suporte usem. Use Add row (Adicionar linha) para adicionar uma tag. É possível adicionar até 50 tags.

Origem

Na seção Origem, escolha Editar. Quando as alterações forem concluídas, selecione Atualizar configuração para salvar a nova configuração.

É possível modificar as seguintes propriedades:

Provedor de origem

Escolha o tipo de provedor do código-fonte. Use as seguintes listas para fazer seleções adequadas ao provedor de origem:

nota

CodeBuild não é compatível com o Bitbucket Server.

Amazon S3
Bucket

Escolha o nome do bucket de entrada que contém o código-fonte.

Chave de objeto do S3 ou pasta do S3

Insira o nome do ZIP arquivo ou o caminho para a pasta que contém o código-fonte. Insira uma barra (/) para fazer download de tudo no bucket do S3.

Versão de origem

Insira o ID da versão do objeto que representa a compilação do arquivo de entrada. Para obter mais informações, consulte Amostra da versão de origem com AWS CodeBuild.

CodeCommit
Repositório

Selecione o repositório que deseja usar.

Tipo de referência

Selecione Ramificação, Tag do Git ou ID de confirmação para especificar a versão do código-fonte. Para ter mais informações, consulte Amostra da versão de origem com AWS CodeBuild.

nota

Recomendamos que você escolha nomes de ramificações do Git que não se pareçam com commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d ou. 5392f7 Isso ajuda você a evitar colisões de checkout do Git com confirmações reais.

Profundidade do clone do Git

Escolha para criar um clone superficial com um histórico truncado para o número especificado de confirmações. Se quiser um clone completo, escolha Full.

Submódulos do Git

Selecione Use Git submodules (Usar submódulos Git) se quiser incluir submódulos Git em seu repositório.

Bitbucket
Repositório

Escolha Conectar usando OAuth ou Conectar com uma senha do aplicativo Bitbucket e siga as instruções para se conectar (ou reconectar) ao Bitbucket.

Escolha um repositório público ou um repositório na conta.

Versão de origem

Insira uma ramificação, um ID de confirmação, uma tag ou uma referência e um ID de confirmação. Para ter mais informações, consulte Amostra da versão de origem com AWS CodeBuild.

nota

Recomendamos que você escolha nomes de ramificações do Git que não se pareçam com commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d ou. 5392f7 Isso ajuda você a evitar colisões de checkout do Git com confirmações reais.

Profundidade do clone do Git

Escolha Git clone depth (Profundidade de clone Git) para criar um clone superficial com um histórico truncado para o número especificado de confirmações. Se quiser um clone completo, escolha Full.

Submódulos do Git

Selecione Use Git submodules (Usar submódulos Git) se quiser incluir submódulos Git em seu repositório.

Status da compilação

Selecione Relatar status de compilação ao provedor de origem quando as compilações iniciarem e terminarem se quiser relatar os status de início e conclusão da compilação ao provedor de origem.

Para poder relatar o status da compilação ao provedor de origem, o usuário associado ao provedor de origem deve ter acesso de gravação ao repositório. Se o usuário não tiver acesso de gravação, o status de compilação não poderá ser atualizado. Para ter mais informações, consulte Acesso do provedor de origem.

Em Contexto de status, insira o valor a ser usado para o parâmetro name no status de confirmação do Bitbucket. Para obter mais informações, consulte build na API documentação do Bitbucket.

URLEm Target, insira o valor a ser usado para o url parâmetro no status de confirmação do Bitbucket. Para obter mais informações, consulte build na API documentação do Bitbucket.

O status de uma compilação acionada por um webhook sempre é relatado ao provedor de origem. Para que o status de uma compilação iniciada no console ou de uma API chamada seja reportada ao provedor de origem, você deve selecionar essa configuração.

Se as compilações do projeto forem acionadas por um webhook, será necessário enviar uma nova confirmação ao repositório para que uma alteração nessa configuração entre em vigor.

Em Eventos de webhook de origem primária, selecione Reconstruir sempre que uma alteração de código for enviada para esse repositório se você quiser CodeBuild criar o código-fonte toda vez que uma alteração de código for enviada para esse repositório. Para obter mais informações sobre webhooks e grupos de filtros, consulte Filtrar eventos de webhook do Bitbucket.

GitHub
Repositório

Escolha Conectar usando OAuth ou Conectar com um token de acesso GitHub pessoal e siga as instruções para se conectar (ou reconectar) GitHub e autorizar o acesso a. AWS CodeBuild

Escolha um repositório público ou um repositório na conta.

Versão de origem

Insira uma ramificação, um ID de confirmação, uma tag ou uma referência e um ID de confirmação. Para ter mais informações, consulte Amostra da versão de origem com AWS CodeBuild.

nota

Recomendamos que você escolha nomes de ramificações do Git que não se pareçam com commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d ou. 5392f7 Isso ajuda você a evitar colisões de checkout do Git com confirmações reais.

Profundidade do clone do Git

Escolha Git clone depth (Profundidade de clone Git) para criar um clone superficial com um histórico truncado para o número especificado de confirmações. Se quiser um clone completo, escolha Full.

Submódulos do Git

Selecione Use Git submodules (Usar submódulos Git) se quiser incluir submódulos Git em seu repositório.

Status da compilação

Selecione Relatar status de compilação ao provedor de origem quando as compilações iniciarem e terminarem se quiser relatar os status de início e conclusão da compilação ao provedor de origem.

Para poder relatar o status da compilação ao provedor de origem, o usuário associado ao provedor de origem deve ter acesso de gravação ao repositório. Se o usuário não tiver acesso de gravação, o status de compilação não poderá ser atualizado. Para ter mais informações, consulte Acesso do provedor de origem.

Em Contexto de status, insira o valor a ser usado para o context parâmetro no status de GitHub confirmação. Para obter mais informações, consulte Criar um status de confirmação no guia do GitHub desenvolvedor.

URLEm Target, insira o valor a ser usado para o target_url parâmetro no status de GitHub confirmação. Para obter mais informações, consulte Criar um status de confirmação no guia do GitHub desenvolvedor.

O status de uma compilação acionada por um webhook sempre é relatado ao provedor de origem. Para que o status de uma compilação iniciada no console ou de uma API chamada seja reportada ao provedor de origem, você deve selecionar essa configuração.

Se as compilações do projeto forem acionadas por um webhook, será necessário enviar uma nova confirmação ao repositório para que uma alteração nessa configuração entre em vigor.

Em Eventos de webhook de origem primária, selecione Reconstruir sempre que uma alteração de código for enviada para esse repositório se você quiser CodeBuild criar o código-fonte toda vez que uma alteração de código for enviada para esse repositório. Para obter mais informações sobre webhooks e grupos de filtros, consulte GitHub eventos de webhook.

GitHub Enterprise Server
GitHub Token de acesso pessoal corporativo

Consulte GitHub Exemplo de servidor corporativo para obter informações sobre como copiar um token de acesso pessoal para a área de transferência. Cole o token no campo de texto e escolha Save Token (Salvar token).

nota

Você só precisa inserir e salvar o token de acesso pessoal uma vez. CodeBuild usa esse token em todos os projetos futuros.

Versão de origem

Insira uma solicitação pull, uma ramificação, um ID de confirmação, uma tag ou uma referência e um ID de confirmação. Para ter mais informações, consulte Amostra da versão de origem com AWS CodeBuild.

nota

Recomendamos que você escolha nomes de ramificações do Git que não se pareçam com commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d ou. 5392f7 Isso ajuda você a evitar colisões de checkout do Git com confirmações reais.

Profundidade do clone do Git

Escolha Git clone depth (Profundidade de clone Git) para criar um clone superficial com um histórico truncado para o número especificado de confirmações. Se quiser um clone completo, escolha Full.

Submódulos do Git

Selecione Use Git submodules (Usar submódulos Git) se quiser incluir submódulos Git em seu repositório.

Status da compilação

Selecione Relatar status de compilação ao provedor de origem quando as compilações iniciarem e terminarem se quiser relatar os status de início e conclusão da compilação ao provedor de origem.

Para poder relatar o status da compilação ao provedor de origem, o usuário associado ao provedor de origem deve ter acesso de gravação ao repositório. Se o usuário não tiver acesso de gravação, o status de compilação não poderá ser atualizado. Para ter mais informações, consulte Acesso do provedor de origem.

Em Contexto de status, insira o valor a ser usado para o context parâmetro no status de GitHub confirmação. Para obter mais informações, consulte Criar um status de confirmação no guia do GitHub desenvolvedor.

URLEm Target, insira o valor a ser usado para o target_url parâmetro no status de GitHub confirmação. Para obter mais informações, consulte Criar um status de confirmação no guia do GitHub desenvolvedor.

O status de uma compilação acionada por um webhook sempre é relatado ao provedor de origem. Para que o status de uma compilação iniciada no console ou de uma API chamada seja reportada ao provedor de origem, você deve selecionar essa configuração.

Se as compilações do projeto forem acionadas por um webhook, será necessário enviar uma nova confirmação ao repositório para que uma alteração nessa configuração entre em vigor.

Inseguro SSL

Selecione Habilitar inseguro SSL para ignorar os SSL avisos ao se conectar ao seu repositório de projetos GitHub corporativos.

Em Eventos de webhook de origem primária, selecione Reconstruir sempre que uma alteração de código for enviada para esse repositório se você quiser CodeBuild criar o código-fonte toda vez que uma alteração de código for enviada para esse repositório. Para obter mais informações sobre webhooks e grupos de filtros, consulte GitHub eventos de webhook.

GitLab
Conexão

Conecte sua GitLab conta usando Conexões de código da AWS e use a conexão para associar seu repositório de terceiros como fonte para seu projeto de compilação.

Escolha Conexão padrão ou Conexão personalizada.

A conexão padrão aplica uma GitLab conexão padrão em todos os projetos. A conexão personalizada aplica uma GitLab conexão personalizada que substitui as configurações padrão da sua conta.

Conexão padrão

O nome da conexão padrão associada à sua conta.

Se você ainda não criou uma conexão com seu provedor, consulte Crie uma conexão com GitLab (console) para obter instruções.

Conexão personalizada

Escolha o nome da conexão personalizada que você deseja usar.

Se você ainda não criou uma conexão com seu provedor, consulte Crie uma conexão com GitLab (console) para obter instruções.

Repositório

Selecione o repositório que deseja usar.

Versão de origem

Insira um ID de pull request, ramificação, ID de confirmação, tag ou referência e um ID de confirmação. Para ter mais informações, consulte Amostra da versão de origem com AWS CodeBuild.

nota

Recomendamos que você escolha nomes de ramificações do Git que não se pareçam com commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d ou. 5392f7 Isso ajuda você a evitar colisões de checkout do Git com confirmações reais.

Profundidade do clone do Git

Escolha Git clone depth (Profundidade de clone Git) para criar um clone superficial com um histórico truncado para o número especificado de confirmações. Se quiser um clone completo, escolha Full.

Status da compilação

Selecione Relatar status de compilação ao provedor de origem quando as compilações iniciarem e terminarem se quiser relatar os status de início e conclusão da compilação ao provedor de origem.

Para poder relatar o status da compilação ao provedor de origem, o usuário associado ao provedor de origem deve ter acesso de gravação ao repositório. Se o usuário não tiver acesso de gravação, o status de compilação não poderá ser atualizado. Para ter mais informações, consulte Acesso do provedor de origem.

GitLab Self Managed
Conexão

Conecte sua GitLab conta usando Conexões de código da AWS e use a conexão para associar seu repositório de terceiros como fonte para seu projeto de compilação.

Escolha Conexão padrão ou Conexão personalizada.

A conexão padrão aplica uma conexão GitLab autogerenciada padrão em todos os projetos. A conexão personalizada aplica uma conexão GitLab autogerenciada personalizada que substitui as configurações padrão da sua conta.

Conexão padrão

O nome da conexão padrão associada à sua conta.

Se você ainda não criou uma conexão com seu provedor, consulte Criar uma conexão GitLab autogerenciada no Guia do usuário do console Developer Tools para obter instruções.

Conexão personalizada

Escolha o nome da conexão personalizada que você deseja usar.

Se você ainda não criou uma conexão com seu provedor, consulte Criar uma conexão GitLab autogerenciada no Guia do usuário do console Developer Tools para obter instruções.

Repositório

Selecione o repositório que deseja usar.

Versão de origem

Insira um ID de pull request, ramificação, ID de confirmação, tag ou referência e um ID de confirmação. Para ter mais informações, consulte Amostra da versão de origem com AWS CodeBuild.

nota

Recomendamos que você escolha nomes de ramificações do Git que não se pareçam com commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d ou. 5392f7 Isso ajuda você a evitar colisões de checkout do Git com confirmações reais.

Profundidade do clone do Git

Escolha Git clone depth (Profundidade de clone Git) para criar um clone superficial com um histórico truncado para o número especificado de confirmações. Se quiser um clone completo, escolha Full.

Status da compilação

Selecione Relatar status de compilação ao provedor de origem quando as compilações iniciarem e terminarem se quiser relatar os status de início e conclusão da compilação ao provedor de origem.

Para poder relatar o status da compilação ao provedor de origem, o usuário associado ao provedor de origem deve ter acesso de gravação ao repositório. Se o usuário não tiver acesso de gravação, o status de compilação não poderá ser atualizado. Para ter mais informações, consulte Acesso do provedor de origem.

Ambiente

Na seção Ambiente, selecione Editar. Quando as alterações forem concluídas, selecione Atualizar configuração para salvar a nova configuração.

É possível modificar as seguintes propriedades:

Modelo de provisionamento

Para alterar o modelo de provisionamento, escolha Alterar modelo de aprovisionamento e faça o seguinte:

  • Para usar frotas sob demanda gerenciadas por AWS CodeBuild, escolha Sob demanda. Com frotas sob demanda, CodeBuild fornece computação para suas construções. As máquinas são destruídas quando a compilação termina. As frotas sob demanda são totalmente gerenciadas e incluem recursos de escalabilidade automática para lidar com picos de demanda.

  • Para usar frotas de capacidade reservada gerenciadas por AWS CodeBuild, escolha Capacidade reservada e selecione o nome da frota. Com frotas de capacidade reservada, você configura um conjunto de instâncias dedicadas para seu ambiente de compilação. Essas máquinas permanecem ociosas, prontas para processar compilações ou testes imediatamente e reduzem a duração da compilação. Com frotas de capacidade reservada, suas máquinas estão sempre funcionando e continuarão a incorrer em custos enquanto forem provisionadas.

Para obter mais informações, consulte Trabalhando com capacidade reservada em AWS CodeBuild.

Imagem do ambiente

Para alterar a imagem de compilação, escolha Substituir imagem e faça o seguinte:

  • Para usar uma imagem do Docker gerenciada por AWS CodeBuild, escolha Imagem gerenciada e, em seguida, faça seleções em Sistema operacional, Tempo de execução (s), Imagem e Versão da imagem. Faça uma seleção em Environment type (Tipo de ambiente) se estiver disponível.

  • Para usar outra imagem do Docker, selecione Custom image (Imagem personalizada). Em Tipo de ambiente ARM, escolha LinuxGPU, Linux ou Windows. Se você escolher Outro registro, em Registro externo URL, insira o nome e a tag da imagem do Docker no Docker Hub, usando o formato. docker repository/docker image name Se você escolher a Amazon ECR, use o ECRrepositório da Amazon e a ECRimagem da Amazon para escolher a imagem do Docker em sua AWS conta.

  • Para usar uma imagem privada do Docker, selecione Imagem personalizada. Em Tipo de ambiente ARM, escolha LinuxGPU, Linux ou Windows. Em Registro de imagem, escolha Outro registro e, em seguida, insira as credenciais ARN da sua imagem privada do Docker. As credenciais devem ser criadas pelo Secrets Manager. Para obter mais informações, consulte O que é o AWS Secrets Manager? no Guia do usuário do AWS Secrets Manager .

nota

CodeBuild substitui as imagens personalizadas do ENTRYPOINT Docker.

Perfil de serviço

Execute um destes procedimentos:

  • Se você não tiver uma função CodeBuild de serviço, escolha Nova função de serviço. No campo Role name, digite o nome da nova função.

  • Se você tiver uma função CodeBuild de serviço, escolha Função de serviço existente. Em Função ARN, escolha a função de serviço.

nota

Ao usar o console para criar um projeto de compilação, você pode criar uma função de CodeBuild serviço ao mesmo tempo. Por padrão, a função funciona somente com esse projeto de build. Se você usar o console para associar essa função de serviço a outro projeto de compilação, a função será atualizada para funcionar com os outros projetos de compilação. Uma função de serviço pode funcionar com até 10 projetos de compilação.

Configuração adicional
Timeout (Tempo limite)

Especifique um valor, entre 5 minutos e 36 horas, após o qual CodeBuild interrompe a compilação se ela não for concluída. Se hours e minutes forem deixados em branco, o valor padrão de 60 minutos será usado.

Privilegiado

Selecione Ativar este sinalizador se quiser criar imagens do Docker ou quiser que suas compilações tenham privilégios elevados. somente se você planeja usar esse projeto de compilação para criar imagens do Docker. Do contrário, todas as compilações associadas que tentarem interagir com o daemon do Docker falharão. Você também deve iniciar o daemon do Docker, de maneira que as compilações possam interagir com ele. Uma maneira de fazer isso é inicializar o daemon do Docker na fase install de especificação da compilação executando os comandos de compilação a seguir. Não execute esses comandos se você escolher uma imagem do ambiente de compilação fornecida CodeBuild com o suporte do Docker.

nota

Por padrão, o daemon do Docker está habilitado para não-compilações. VPC Se você quiser usar contêineres do Docker para VPC compilações, consulte Runtime Privilege e Linux Capabilities no site do Docker Docs e ative o modo privilegiado. Além disso, o Windows não é compatível com o modo privilegiado.

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2 & - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
VPC

Se você quiser CodeBuild trabalhar com seuVPC:

  • Para VPC, escolha o VPC ID que CodeBuild usa.

  • Em VPCSub-redes, escolha as sub-redes que incluem os recursos que usa. CodeBuild

  • Em Grupos de VPC segurança, escolha os grupos de segurança CodeBuild usados para permitir o acesso aos recursos noVPCs.

Para ter mais informações, consulte Use AWS CodeBuild com a Amazon Virtual Private Cloud.

Computação

Selecione uma das opções disponíveis.

Variáveis de ambiente

Insira o nome e o valor e, depois, selecione o tipo de cada variável de ambiente a ser usada pelas compilações.

nota

CodeBuild define automaticamente a variável de ambiente para sua AWS região. Defina as seguintes variáveis de ambiente se elas não tiverem sido adicionadas ao buildspec.yml:

  • AWS_ ACCOUNT _ID

  • IMAGE_REPO_NAME

  • IMAGE_TAG

O console e AWS CLI os usuários podem ver as variáveis de ambiente. Caso você não tenha problema em relação à visibilidade da variável de ambiente, defina os campos Name e Value e Type como Plaintext.

Recomendamos que você armazene uma variável de ambiente com um valor confidencial, como um ID de chave de AWS acesso, uma chave de acesso AWS secreta ou uma senha como parâmetro no Amazon EC2 Systems Manager Parameter Store ou AWS Secrets Manager.

Se você usa o Amazon EC2 Systems Manager Parameter Store, em Tipo, escolha Parâmetro. Em Nome, insira um identificador CodeBuild para referência. Em Value, insira o nome do parâmetro conforme armazenado no Amazon EC2 Systems Manager Parameter Store. Usando um parâmetro chamado /CodeBuild/dockerLoginPassword como exemplo, em Type (Tipo), escolha Parameter (Parâmetro). Em Nome, digite LOGIN_PASSWORD. Em Valor, insira /CodeBuild/dockerLoginPassword.

Importante

Se você usa o Amazon EC2 Systems Manager Parameter Store, recomendamos que você armazene parâmetros com nomes de parâmetros que comecem com /CodeBuild/ (por exemplo,/CodeBuild/dockerLoginPassword). Você pode usar o CodeBuild console para criar um parâmetro no Amazon EC2 Systems Manager. Selecione Create parameter (Criar parâmetro) e siga as instruções na caixa de diálogo. (Nessa caixa de diálogo, para KMSchave, você pode especificar a ARN de uma AWS KMS chave na sua conta. O Amazon EC2 Systems Manager usa essa chave para criptografar o valor do parâmetro durante o armazenamento e descriptografá-lo durante a recuperação.) Se você usar o CodeBuild console para criar um parâmetro, o console iniciará o nome do parâmetro com a /CodeBuild/ forma como ele está sendo armazenado. Para obter mais informações, consulte Systems Manager Parameter Store e Systems Manager Parameter Store Console Walkthrough no Guia do usuário do Amazon EC2 Systems Manager.

Se seu projeto de construção se referir a parâmetros armazenados no Amazon EC2 Systems Manager Parameter Store, a função de serviço do projeto de construção deve permitir a ssm:GetParameters ação. Se você escolheu Nova função de serviço anteriormente, CodeBuild inclua essa ação na função de serviço padrão do seu projeto de compilação. No entanto, se você tiver selecionado Existing service role (Função de serviço existente), deverá incluir essa ação na função de serviço separadamente.

Se seu projeto de construção se referir a parâmetros armazenados no Amazon EC2 Systems Manager Parameter Store com nomes de parâmetros que não começam com/CodeBuild/, e você escolheu Nova função de serviço, você deve atualizar essa função de serviço para permitir acesso aos nomes de parâmetros que não começam com/CodeBuild/. Isso porque essa função de serviço permite acesso apenas a nomes de parâmetro que comecem com /CodeBuild/.

Se você escolher Nova função de serviço, a função de serviço incluirá permissão para descriptografar todos os parâmetros sob o /CodeBuild/ namespace no Amazon Systems EC2 Manager Parameter Store.

As variáveis de ambiente definidas por você substituem variáveis de ambiente existentes. Por exemplo, se a imagem de Docker já contiver uma variável de ambiente chamada MY_VAR com um valor de my_value e você definir uma variável de ambiente chamada MY_VAR com um valor de other_value, my_value será substituído por other_value. Da mesma maneira, se a imagem de Docker já contiver uma variável de ambiente chamada PATH com um valor de /usr/local/sbin:/usr/local/bin e você definir uma variável de ambiente chamada PATH com um valor de $PATH:/usr/share/ant/bin, /usr/local/sbin:/usr/local/bin será substituído pelo valor literal $PATH:/usr/share/ant/bin.

Não defina nenhuma variável de ambiente com um nome que comece com CODEBUILD_. Este prefixo está reservado para uso interno da .

Se uma variável de ambiente com o mesmo nome é definida em vários locais, o valor será determinado como se segue:

  • O valor na chamada de operação de início de build tem a maior prioridade.

  • O valor na definição de projeto de build tem a precedência seguinte.

  • O valor na declaração de buildspec tem a menor prioridade.

Se você usar o Secrets Manager, em Tipo, escolha Secrets Manager. Em Nome, insira um identificador CodeBuild para referência. Em Value (Valor), insira um reference-key usando o padrão secret-id:json-key:version-stage:version-id. Para obter mais informações, consulte Secrets Manager reference-key in the buildspec file.

Importante

Se você usa o Secrets Manager, recomendamos armazenar segredos com nomes que comecem com /CodeBuild/ (por exemplo, /CodeBuild/dockerLoginPassword). Para obter mais informações, consulte O que é o AWS Secrets Manager? no Guia do usuário do AWS Secrets Manager .

Se o projeto de compilação se referir a segredos armazenados no Secrets Manager, o perfil de serviço do projeto de compilação deverá permitir a ação secretsmanager:GetSecretValue. Se você escolheu Nova função de serviço anteriormente, CodeBuild inclua essa ação na função de serviço padrão do seu projeto de compilação. No entanto, se você tiver selecionado Existing service role (Função de serviço existente), deverá incluir essa ação na função de serviço separadamente.

Se o projeto de compilação fizer referência a segredos armazenados no Secrets Manager com nomes que não comecem com /CodeBuild/ e você selecionar Novo perfil de serviço, será necessário atualizar esse perfil de serviço para conceder acesso a nomes de segredo que não comecem com /CodeBuild/. O motivo é que o perfil de serviço permite acesso apenas a nomes de segredo que comecem com /CodeBuild/.

Se você selecionar Novo perfil de serviço, o perfil de serviço incluirá permissão para descriptografar todos os segredos no namespace /CodeBuild/ no Secrets Manager.

Buildspec

Na seção Buildspec, escolha Editar. Quando as alterações forem concluídas, selecione Atualizar configuração para salvar a nova configuração.

É possível modificar as seguintes propriedades:

Especificações de compilação

Execute um destes procedimentos:

  • Se o seu código-fonte inclui um arquivo buildspec, escolha Use a buildspec file (Usar um arquivo buildspec). Por padrão, CodeBuild procura um arquivo nomeado buildspec.yml no diretório raiz do código-fonte. Se seu arquivo buildspec usar um nome ou local diferente, insira seu caminho a partir da raiz de origem no nome Buildspec (por exemplo, ou. buildspec-two.yml configuration/buildspec.yml Se o arquivo buildspec estiver em um bucket do S3, ele deverá estar na mesma AWS região do seu projeto de compilação. Especifique o arquivo buildspec usando seu ARN (por exemplo,). arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml

  • Se o código-fonte não incluir um arquivo de especificação de compilação ou se você quiser executar comandos de compilação diferentes dos especificados para a fase build no arquivo buildspec.yml, no diretório raiz do código-fonte, escolha Insert build commands. Para Build commands (Comandos de compilação), insira os comandos que você quer executar na fase build. Para vários comandos, separe-os com && (por exemplo, mvn test && mvn package). Para executar comandos em outras fases, ou se você tiver uma lista longa de comandos para a fase build, adicione um arquivo buildspec.yml ao diretório raiz do código-fonte, adicione os comandos ao arquivo e escolha Usar o buildspec.yml no diretório raiz do código-fonte.

Para obter mais informações, consulte Referência de buildspec.

Configuração em lote

Na seção Configuração em lote, selecione Editar. Quando as alterações forem concluídas, selecione Atualizar configuração para salvar a nova configuração. Para ter mais informações, consulte Batch é incorporado AWS CodeBuild.

É possível modificar as seguintes propriedades:

Perfil de serviço em lote

Fornece o perfil de serviço para compilações em lote.

Escolha uma das seguintes opções:

  • Se você não tiver um perfil de serviço em lote, selecione Novo perfil de serviço. Em Perfil de serviço, insira um nome para o novo perfil.

  • Se você tiver um perfil de serviço em lote, selecione Perfil de serviço existente. Em Perfil de serviço, selecione o perfil de serviço.

As compilações em lote introduzem um novo perfil de segurança na configuração em lote. Essa nova função é necessária, pois CodeBuild você deve poder chamar as RetryBuild ações StartBuildStopBuild, e em seu nome para executar compilações como parte de um lote. Os clientes devem usar um novo perfil, e não o mesmo perfil que usam na compilação, por dois motivos:

  • Fornecer ao perfil de compilação as permissões StartBuild, StopBuild e RetryBuild que permitem a uma única compilação iniciar mais compilações por meio do buildspec.

  • CodeBuild compilações em lote fornecem restrições que restringem o número de compilações e tipos de computação que podem ser usados para as compilações no lote. Se o perfil de compilação tiver essas permissões, será possível que as próprias compilações ignorem essas restrições.

Tipo(s) de computação permitido(s) para lote

Selecione os tipos de computação permitidos para o lote. Selecione todas as opções aplicáveis.

Máximo de compilações permitidas em lote

Insira o número máximo de compilações permitidas no lote. Se um lote exceder esse limite, ele falhará.

Tempo limite do lote

Insira o tempo máximo para a conclusão da compilação em lote.

Combinar artefatos

Selecione Combinar todos os artefatos do lote em um único local para que todos os artefatos do lote sejam combinados em um único local.

Modo de relatório em lote

Selecione o modo de relatório de status de compilação desejado para compilações em lote.

nota

Esse campo só está disponível quando a fonte do projeto é Bitbucket ou GitHub Enterprise GitHub, e Relatar status de compilação ao provedor de origem quando suas compilações começam e terminam é selecionado em Origem.

Compilações agregadas

Selecione para que os status de todas as compilações do lote sejam combinados em um único relatório de status.

Compilações individuais

Selecione para que os status de todas as compilações no lote sejam relatados separadamente.

Artefatos

Na seção Artefatos, escolha Editar. Quando as alterações forem concluídas, selecione Atualizar configuração para salvar a nova configuração.

É possível modificar as seguintes propriedades:

Tipo

Execute um destes procedimentos:

  • Se você não quiser criar artefatos de saída de build, escolha No artifacts. Talvez você queira fazer isso se estiver apenas executando testes de compilação ou quiser enviar uma imagem do Docker para um ECR repositório da Amazon.

  • Para armazenar a saída de compilação em um bucket do S3, escolha Amazon S3 e faça o seguinte:

    • Se você quiser usar o nome do seu projeto para o ZIP arquivo ou pasta de saída da compilação, deixe Nome em branco. Caso contrário, insira o nome. (Se você quiser gerar um ZIP arquivo e quiser que o ZIP arquivo tenha uma extensão de arquivo, não se esqueça de incluí-lo após o nome do ZIP arquivo.)

    • Selecione Enable semântico versioning (Habilitar versionamento semântico) se quiser que um nome especificado no arquivo buildspec substitua qualquer nome especificado no console. O nome em um arquivo buildspec é calculado no tempo de compilação e usa a linguagem de comandos do Shell. Por exemplo, você pode anexar uma data e hora ao nome do artefato para que ele seja sempre exclusivo. Os nomes de artefato exclusivos impedem que os artefatos sejam substituídos. Para ter mais informações, consulte Sintaxe de buildspec.

    • Para Bucket name, selecione o nome do bucket de saída.

    • Se você escolheu Inserir comandos de compilação anteriormente neste procedimento, em Arquivos de saída, insira os locais dos arquivos da compilação que você deseja colocar no ZIP arquivo ou pasta de saída da compilação. Para vários locais, separe-os com uma vírgula (por exemplo, appspec.yml, target/my-app.jar). Para obter mais informações, consulte a descrição de files em Sintaxe de buildspec.

    • Se você não quiser que os artefatos de compilação sejam criptografados, selecione Remove artifacts encryption (Remover a criptografia dos artefatos).

Para cada conjunto secundário de artefatos desejado:

  1. Em Artifact identifier (Identificador de artefato), insira um valor com menos de 128 caracteres e que contenha apenas caracteres alfanuméricos e sublinhados.

  2. Escolha Add artifact (Adicionar artefato).

  3. Siga as etapas anteriores para configurar seus artefatos secundários.

  4. Escolha Save artifact (Salvar artefato).

Configuração adicional
Chave de criptografia

Execute um destes procedimentos:

  • Para usar o Chave gerenciada pela AWS Amazon S3 em sua conta para criptografar os artefatos de saída da compilação, deixe a chave de criptografia em branco. Esse é o padrão.

  • Para usar uma chave gerenciada pelo cliente para criptografar os artefatos de saída da compilação, em Chave ARN de criptografia, insira a chave gerenciada pelo cliente. Use o formato arn:aws:kms:region-ID:account-ID:key/key-ID.

Tipo de cache

Em Cache type (Tipo de cache), selecione uma das seguintes opções:

  • Se não quiser usar um cache, escolha No cache.

  • Se você quiser um cache do Amazon S3, selecione Amazon S3 e faça o seguinte:

    • Em Bucket, escolha o nome do bucket do S3 onde o cache está armazenado.

    • (Opcional) Em Prefixo do caminho do cache, insira um prefixo de caminho do Amazon S3. O valor Cache path prefix (Prefixo do caminho do cache) é semelhante ao nome de um diretório. Ele permite que você armazene o cache em um bucket no mesmo diretório.

      Importante

      Não acrescente uma barra (/) ao final do prefixo do caminho.

  • Se você quiser usar um cache local, selecione Local e depois selecione um ou mais modos de cache local.

    nota

    O modo de cache de camada do Docker está disponível apenas para o Linux. Se optar por esse modo, o projeto deverá ser executado no modo privilegiado.

O uso do cache economiza um tempo de compilação considerável porque as partes reutilizáveis do ambiente de compilação são armazenadas no cache e usadas em diferentes compilações. Para obter informações sobre como especificar um cache no arquivo de especificação de compilação, consulte Sintaxe de buildspec. Para obter mais informações sobre armazenamento em cache, consulte Crie armazenamento em cache em AWS CodeBuild.

Logs

Na seção Logs, selecione Editar. Quando as alterações forem concluídas, selecione Atualizar configuração para salvar a nova configuração.

É possível modificar as seguintes propriedades:

Selecione os logs que deseja criar. Você pode criar Amazon CloudWatch Logs, Amazon S3 logs ou ambos.

CloudWatch

Se você quiser CloudWatch registros do Amazon Logs:

CloudWatch troncos

Selecione CloudWatch logs (Logs do &CW;).

Group name

Insira o nome do seu grupo de CloudWatch logs do Amazon Logs.

Nome do fluxo

Insira o nome do seu stream de CloudWatch log do Amazon Logs.

S3

Se você quiser que o Amazon S3 registre:

Logs do S3

Selecione S3 logs (Logs do S3).

Bucket

Escolha o nome do bucket do S3 para os logs.

Prefixo do caminho

Insira o prefixo para seus logs.

Desabilitar a criptografia de logs do S3

Selecione se não quiser que os logs do S3 sejam criptografados.