Usar o AWS CodeBuild com o AWS CodePipeline para testar código e executar compilações - 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á.

Usar o AWS CodeBuild com o AWS CodePipeline para testar código e executar compilações

É possível automatizar o processo de lançamento usando o AWS CodePipeline para testar seu código e executar suas compilações com o AWS CodeBuild.

A tabela a seguir lista tarefas e os métodos disponíveis para executá-los. O uso dos SDKs da AWS para realizar essas tarefas está fora do escopo deste tópico.

Tarefa Abordagens disponíveis Abordagens descritas neste tópico
Criar um pipeline de entrega contínua (CD) com o CodePipeline que automatiza compilações com o CodeBuild
  • Console do CodePipeline

  • AWS CLI

  • SDKs da AWS

  • Usar o console do CodePipeline

  • Usar a AWS CLI

  • Você pode adaptar as informações neste tópico para usar os SDKs da AWS. Para obter mais informações, consulte a documentação da ação create-pipelinepara a linguagem de programação na seção SDKs de Tools for Amazon Web Services ou consulte CreatePipeline na AWS CodePipeline API Reference.

Adicionar automação de teste e compilação com o CodeBuild para um pipeline existente no CodePipeline
  • Console do CodePipeline

  • AWS CLI

  • SDKs da AWS

Pré-requisitos

  1. Responda às perguntas em Planejar uma compilação.

  2. Se você estiver usando um usuário para acessar o CodePipeline em vez de uma conta raiz da AWS ou um usuário administrador, associe a política gerenciada denominada AWSCodePipelineFullAccess ao usuário (ou ao grupo do IAM ao qual o usuário pertence). Não é recomendável usar uma conta raiz da AWS. Essa política concede ao usuário permissão para criar o pipeline no CodePipeline. Para obter mais informações, consulte Attaching managed policies no Guia do usuário.

    nota

    A entidade do IAM que associa a política ao usuário (ou ao grupo ao qual o usuário pertence) deve ter permissão no IAM para associar políticas. Para obter mais informações, consulte Delegating permissions to administer IAM users, groups, and credentials no Guia do usuário.

  3. Crie um perfil de serviço do CodePipeline, se você ainda não tiver um disponível na conta da AWS. O CodePipeline usa esse perfil de serviço para interagir com outros serviços da AWS, incluindo o AWS CodeBuild, em seu nome. Por exemplo, para usar a AWS CLI para criar um perfil de serviço do CodePipeline, execute o comando create-role do IAM:

    Para Linux, macOS ou Unix:

    aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document '{"Version":"2012-10-17","Statement":{"Effect":"Allow","Principal":{"Service":"codepipeline.amazonaws.com"},"Action":"sts:AssumeRole"}}'

    Para Windows:

    aws iam create-role --role-name AWS-CodePipeline-CodeBuild-Service-Role --assume-role-policy-document "{\"Version\":\"2012-10-17\",\"Statement\":{\"Effect\":\"Allow\",\"Principal\":{\"Service\":\"codepipeline.amazonaws.com\"},\"Action\":\"sts:AssumeRole\"}}"
    nota

    A entidade do IAM que cria esse perfil de serviço do CodePipeline deve ter permissão no IAM para criar perfis de serviço.

  4. Depois de criar um perfil de serviço do CodePipeline ou identificar um existente, será necessário adicionar a política padrão de perfil de serviço do CodePipeline ao perfil de serviço, conforme descrito em Review the default CodePipeline service role policy no Guia do usuário do AWS CodePipeline, caso ela ainda não faça parte da política para o perfil.

    nota

    A entidade do IAM que adiciona essa política de perfil de serviço do CodePipeline deve ter permissão no IAM para adicionar políticas a perfis de serviço.

  5. Crie e faça upload do código-fonte para um tipo de repositório compatível com o CodeBuild e o CodePipeline, como CodeCommit, Amazon S3, Bitbucket ou GitHub. O código-fonte deve conter um arquivo de buildspec, mas você poderá declarar um ao definir um projeto de compilação mais adiante neste tópico. Para obter mais informações, consulte Referência de buildspec.

    Importante

    Se pretende usar o pipeline para implantar código-fonte da compilação, o artefato de saída da compilação deve ser compatível com o sistema de implantação que você usa.