Criar um pipeline que use o CodeBuild (console do CodePipeline)
Use o seguinte procedimento para criar um pipeline que use o CodeBuild para compilar e implantar o código-fonte.
Para criar um pipeline que somente teste o código-fonte:
-
Use o seguinte procedimento para criar o pipeline e, então, exclua do pipeline os estágios Build e Beta. Depois use o procedimento Adicionar uma ação de teste do CodeBuild a um pipeline (console do CodePipeline) neste tópico para adicionar ao pipeline uma ação de teste que use o CodeBuild.
-
Use um dos outros procedimentos neste tópico para criar o pipeline e, depois, use o procedimento Adicionar uma ação de teste do CodeBuild a um pipeline (console do CodePipeline) neste tópico para adicionar ao pipeline uma ação de teste que use o CodeBuild.
Como usar o assistente de criação de pipeline no CodePipeline para criar um pipeline que use o CodeBuild
-
Faça login no AWS Management Console usando:
-
Sua conta raiz AWS. Isso não é recomendado. Para obter mais informações, consulte O usuário raiz da conta no Guia do usuário do .
-
Um usuário administrador na conta da AWS. Para obter mais informações, consulte Creating your first Conta da AWS root user and group no Guia do usuário.
-
Um usuário na conta da AWS com permissão para usar o seguinte conjunto mínimo de ações:
codepipeline:* iam:ListRoles iam:PassRole s3:CreateBucket s3:GetBucketPolicy s3:GetObject s3:ListAllMyBuckets s3:ListBucket s3:PutBucketPolicy codecommit:ListBranches codecommit:ListRepositories codedeploy:GetApplication codedeploy:GetDeploymentGroup codedeploy:ListApplications codedeploy:ListDeploymentGroups elasticbeanstalk:DescribeApplications elasticbeanstalk:DescribeEnvironments lambda:GetFunctionConfiguration lambda:ListFunctions opsworks:DescribeStacks opsworks:DescribeApps opsworks:DescribeLayers
-
-
Abra o console do AWS CodePipeline em https://console.aws.amazon.com/codesuite/codepipeline/home
. -
No seletor de região da AWS, selecione a região da AWS na qual os recursos da AWS estão localizados. Deve ser uma região da AWS onde o CodeBuild seja aceito. Para ter mais informações, consulte AWS CodeBuild no Referência geral da Amazon Web Services.
-
Crie um pipeline. Se uma página de informações do CodePipeline for exibida, selecione Criar pipeline. Se uma página All Pipelines (Todos os pipelines) for exibida, selecione Create pipeline (Criar pipeline).
-
Na página Step 1: Choose pipeline settings (Etapa 1: selecionar as configurações do pipeline), em Pipeline name (Nome do pipeline), insira o nome do pipeline (por exemplo,
CodeBuildDemoPipeline
). Se você escolher um nome diferente, certifique-se de usá-lo durante todo este procedimento. -
Em Role name (Nome da função), siga um dos seguintes procedimentos:
Selecione New service role (Nova função de serviço), e em Role Name (Nome da função), insira o nome para a nova função de serviço.
Selecione Perfil de serviço existente e depois selecione o perfil de serviço do CodePipeline criada ou identificada como parte dos pré-requisitos deste tópico.
-
Em Artifact store (Armazenamento de artefatos), siga um dos seguintes procedimentos:
-
Selecione Local padrão para usar o armazenamento de artefatos padrão, como o bucket de artefatos do S3 designado como padrão, para o pipeline na região da AWS selecionada para o pipeline.
-
Selecione Local personalizado se você já tem um armazenamento de artefatos criado, como um bucket de artefatos do S3 na mesma região da AWS que o pipeline.
nota
Este não é o bucket de origem para o código-fonte do pipeline. Este é o armazenamento de artefatos para o pipeline. Um armazenamento de artefatos separado, como um bucket do S3, é necessário para cada pipeline, na mesma região da AWS que o pipeline.
-
-
Escolha Próximo.
-
Na página Step 2: Add source stage (Etapa 2: adicionar estágio de origem), para Source provider (Fornecedor de origem), faça um dos seguintes procedimentos:
-
Se o código-fonte estiver armazenado no bucket do S3, escolha Amazon S3. Em Bucket, selecione o bucket do S3 que contenha o código-fonte. Em S3 object key (Chave do objeto do S3), insira o nome do arquivo o contém o código-fonte (por exemplo
). Escolha Próximo.file-name
.zip -
Se o código-fonte estiver armazenado em um repositório do AWS CodeCommit, escolha CodeCommit. Para Repository name (Nome do repositório), escolha o nome do repositório que contém o código-fonte. Em Branch name (Nome da ramificação), escolha o nome da ramificação que contenha a versão do código-fonte que você deseja compilar. Escolha Próximo.
-
Se o código-fonte estiver armazenado em um repositório GitHub, escolha GitHub. Escolha Connect to GitHub (Conectar-se ao GitHub) e siga as instruções para autenticar no GitHub. Para Repository (Repositório), escolha o nome do repositório que contém o código-fonte. Em Branch (Ramificação), escolha o nome da ramificação que contenha a versão do código-fonte que você deseja compilar.
Escolha Próximo.
-
-
Na página Etapa 3: adicionar etapa de compilação, em Provedor de compilação, escolha CodeBuild.
-
Se você já tiver um projeto de compilação que deseja usar, em Nome do projeto, escolha o nome do projeto de compilação e avance para a próxima etapa deste procedimento.
Se você precisar criar um projeto de compilação do CodeBuild, siga as instruções em Criar um projeto de compilação (console) e retorne a este procedimento.
Se escolher um projeto de compilação existente, as configurações de artefato de saída da compilação já devem estar definidas (embora o CodePipeline as substitua). Para ter mais informações, consulte Alterar configurações de um projeto de compilação (console).
Importante
Se você habilitar webhooks para um projeto do CodeBuild e o projeto for usado como uma etapa de compilação no CodePipeline, duas compilações idênticas serão criadas para cada confirmação. Uma compilação é acionada por meio de webhooks e outra por meio do CodePipeline. Como o faturamento é por compilação, você é cobrado por ambas as compilações. Portanto, se você estiver usando o CodePipeline, será recomendável desabilitar os webhooks no CodeBuild. No console do AWS CodeBuild desmarque a caixa de Webhook. Para ter mais informações, consulte Alterar configurações de um projeto de compilação (console).
-
Na página Step 4: Add deploy stage (Etapa 4: adicionar estágio de implantação), faça o seguinte:
-
Se você não deseja implantar o artefato de saída da compilação, selecione Skip (Avançar) e confirme essa opção quando solicitado.
-
Se quiser implantar o artefato de saída da compilação, em Deploy provider (Provedor de implantação), selecione um provedor de implantação e especifique as configurações quando solicitadas.
Escolha Próximo.
-
-
Na página Review (Revisar), revise suas escolhas e, em seguida, selecione Create pipeline (Criar pipeline).
-
Depois de o pipeline ser executado com sucesso, você pode obter o artefato de saída de build. Com o pipeline exibido no console do CodePipeline, na ação Compilar, selecione a dica de ferramenta. Anote o valor para Output artifact (por exemplo, MyAppBuild).
nota
Também é possível obter o artefato de saída da compilação selecionando o link Criar artefatos na página de detalhes da compilação, no console do CodeBuild. Para exibir essa página, despreze as etapas restantes deste procedimento e consulte Visualizar detalhes de compilação (console).
Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/
. -
Na lista de bucket, abra o bucket usado pelo pipeline. O nome do bucket deve seguir o formato
codepipeline-
. É possível usar a AWS CLI para executar o comando get-pipeline do CodePipeline para obter o nome do bucket, em queregion-ID
-random-number
my-pipeline-name
é o nome de exibição do pipeline:aws codepipeline get-pipeline --name
my-pipeline-name
Na saída, o objeto
pipeline
contém um objetoartifactStore
, que contém um valorlocation
com o nome do bucket. -
Abra a pasta que corresponda ao nome de seu pipeline (dependendo do tamanho do nome do pipeline, o nome da pasta pode estar truncado) e abra a pasta correspondente ao valor de Output artifact (Artefato de saída) que você anotou anteriormente.
-
Extraia o conteúdo do arquivo . Se houver vários arquivos na pasta, extraia o conteúdo do arquivo com o carimbo Last Modified mais recente. (Talvez você precise atribuir ao arquivo a extensão
.zip
, de maneira que possa trabalhar com ele no utilitário ZIP do sistema.) O artefato de saída de build está no conteúdo extraído do arquivo. -
Se você instruiu o CodePipeline para implantar o artefato de saída da compilação, use as instruções do provedor de implantação para obter o artefato de saída da compilação nos resultados de implantação.