Usar o EB CLI com o AWS CodeBuild - AWS Elastic Beanstalk

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

Usar o EB CLI com o AWS CodeBuild

O AWS CodeBuild compila o código-fonte, roda testes de unidade e produz artefatos prontos para implantação. É possível usar CodeBuild com a CLI do EB para automatizar a criação da aplicação a partir de seu código-fonte. A criação do ambiente e cada implantação subsequente iniciam com uma etapa de criação e com a implantação do aplicativo resultante.

nota

Algumas regiões não oferecem o CodeBuild. A integração entre o Elastic Beanstalk e o CodeBuild não funciona nessas regiões.

Para obter informações sobre os produtos da AWS oferecidos em cada região, consulte a Tabela de regiões.

Criar um aplicativo

Como criar uma aplicação do Elastic Beanstalk que use CodeBuild
  1. Inclua um arquivo de especificação de criação do CodeBuild, buildspec.yml, na pasta da aplicação.

  2. Adicione uma entrada eb_codebuild_settings com opções específicas do Elastic Beanstalk ao arquivo.

  3. Execute eb init na pasta.

    nota

    Não use os caracteres ponto (.) ou espaço ( ) em Application name (Nome da aplicação) quando usar a CLI do EB com CodeBuild.

O Elastic Beanstalk estende o formato de arquivo de especificação de compilação do CodeBuild para incluir as seguintes configurações adicionais:

eb_codebuild_settings: CodeBuildServiceRole: role-name ComputeType: size Image: image Timeout: minutes
CodeBuildServiceRole

O ARN ou nome da função de serviço do AWS Identity and Access Management (IAM) que o CodeBuild pode usar para interagir com serviços dependentes da AWS em seu nome. Este valor é obrigatório. Se você omiti-lo, qualquer comando eb create ou eb deploy subsequente apresentará falha.

Para saber mais sobre como criar uma função de serviço para o CodeBuild, consulte Construir uma função de serviço do CodeBuild no Guia do usuário do AWS CodeBuild.

nota

Você também precisa de permissões para executar ações no próprio CodeBuild. A política de usuário gerenciada do Elastic Beanstalk AdministratorAccess-AWSElasticBeanstalk inclui todas as permissões de ação necessárias do CodeBuild. Se você não estiver usando a política gerenciada, certifique-se de conceder as permissões a seguir na política de usuário.

"codebuild:CreateProject", "codebuild:DeleteProject", "codebuild:BatchGetBuilds", "codebuild:StartBuild"

Para obter detalhes, consulte Gerenciar políticas de usuário do Elastic Beanstalk.

ComputeType

A quantidade de recursos usados pelo contêiner do Docker no ambiente de criação do CodeBuild. Os valores válidos são BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM e BUILD_GENERAL1_LARGE.

Image

O nome da imagem do Docker Hub ou do Amazon ECR que o CodeBuild usa para o ambiente de compilação. Essa imagem do Docker deve conter bibliotecas de tempo de execução e ferramentas necessárias para criar o código e deve corresponder à plataforma de destino da aplicação. O CodeBuild gerencia e mantém um conjunto de imagens especificamente destinadas ao uso com o Elastic Beanstalk. É recomendado que você use uma delas. Para obter detalhes, consulte Imagens do Docker fornecidas pelo CodeBuild no Guia do usuário do AWS CodeBuild.

O valor Image é opcional. Se você omiti-lo, o comando eb init tentará escolher uma imagem que melhor corresponde à plataforma de destino. Além disso, se você executar eb init no modo interativo e ele falhar na escolha de uma imagem para você, será solicitado que você escolha uma. Ao final de uma inicialização bem-sucedida, eb init grava a imagem escolhida no arquivo buildspec.yml.

Timeout

A duração em minutos em que a compilação do CodeBuild é executado antes de atingir o tempo limite. Este valor é opcional. Para obter detalhes sobre valores padrão e válidos, consulte Criar um projeto de compilação no CodeBuild.

nota

Esse tempo limite controla a duração máxima para uma execução do CodeBuild, e a CLI do EB também o respeita como parte da primeira etapa para criar uma versão da aplicação. É diferente do valor que você pode especificar na opção --timeout dos comandos eb create ou eb deploy. O último valor controla a duração máxima que a CLI do EB aguarda para a criação ou atualização do ambiente.

Criar e implantar o código do aplicativo

Sempre que o código da aplicação precisar ser implantado, a CLI do EB usará o CodeBuild para executar uma compilação e, depois, implantará os artefatos de compilação resultantes no ambiente. Isso ocorre ao criar um ambiente do Elastic Beanstalk para a aplicação usando o comando eb create e sempre que você implantar alterações no código no ambiente usando o comando eb deploy.

Se a etapa do CodeBuild falhar, a criação ou a implantação do ambiente não será iniciada.