Tutorial: Usar o clone completo com uma origem de pipeline do GitHub - 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á.

Tutorial: Usar o clone completo com uma origem de pipeline do GitHub

É possível selecionar a opção de clone completo para a ação de origem do GitHub no CodePipeline. Use essa opção para executar comandos do CodeBuild para metadados do Git na ação de criação de pipeline.

Neste tutorial, você vai criar um pipeline que se conectará ao repositório do GitHub, usará a opção de clone completo para dados de origem e executará uma compilação do CodeBuild que vai clonar o repositório e executar comandos do Git para o repositório.

nota

Esse recurso não está disponível nas seguintes regiões: Ásia-Pacífico (Hong Kong), África (Cidade do Cabo), Oriente Médio (Bahrein), Europa (Zurique) e AWS GovCloud (Oeste dos EUA). Para fazer referência a outras ações disponíveis, consulte Integrações de produtos e serviços com CodePipeline. Para considerações sobre essa ação na região Europa (Milão), consulte a nota em CodeStarSourceConnection para Bitbucket Cloud GitHub, GitHub Enterprise Server, GitLab .com e ações GitLab autogerenciadas.

Pré-requisitos

Antes de começar, é necessário fazer o seguinte:

  • Crie um repositório do GitHub com a conta do GitHub.

  • Tenha as credenciais do GitHub em mãos. Ao usar o AWS Management Console para configurar uma conexão, é solicitado que você entre com as credenciais do GitHub.

Etapa 1: Criar um arquivo README

Depois de criar o repositório do GitHub, use estas etapas para adicionar um arquivo README.

  1. Faça login no repositório do GitHub e selecione o repositório.

  2. Para criar um arquivo, selecione Adicionar arquivo > Criar arquivo. Forneça o nome README.md. ao arquivo e adicione o texto a seguir.

    This is a GitHub repository!
  3. Escolha Commit changes (Confirmar alterações).

    Certifique-se de que o arquivo README.md esteja no nível raiz do repositório.

Etapa 2: Criar o pipeline e o projeto de criação

Nesta seção, você criará um pipeline com as seguintes ações:

  • Um estágio de origem com uma conexão com o repositório do GitHub e ação.

  • Um estágio de compilação com uma ação de compilação AWS CodeBuild.

Criar um pipeline com o assistente
  1. Faça login no console do CodePipeline em https://console.aws.amazon.com/codesuite/codepipeline.

  2. Na página Welcome (Bem-vindo), Getting started (Conceitos básicos) ou Pipelines, selecione Create pipeline (Criar pipeline).

  3. Em Step 1: Choose pipeline settings (Etapa 1: selecionar as configurações do pipeline), em Pipeline name (Nome do pipeline), insira MyGitHubPipeline.

  4. Em Tipo de pipeline, selecione V1 para os fins deste tutorial. Também é possível selecionar V2; no entanto, observe que os tipos de pipeline diferem em características e preços. Para obter mais informações, consulte Tipos de Pipeline.

  5. Em Service role (Função do serviço), selecione New service role (Nova função de serviço).

    nota

    Se você optar por usar sua função de serviço do CodePipeline existente, certifique-se de ter adicionado a permissão do IAM codestar-connections:UseConnection à sua política de função de serviço. Para obter instruções sobre a função de serviço do CodePipeline, consulte Adicionar permissões à função de serviço do CodePipeline.

  6. Em Configurações avançadas mantenha os padrões. Em Artifact store (Armazenamento de artefatos), selecione Default location (Local padrão) para usar o armazenamento de artefatos padrão, como o bucket de artefatos do Amazon S3 designado como padrão, para o pipeline na região que você selecionou.

    nota

    Este não é o bucket de origem para seu código-fonte. Este é o armazenamento de artefatos para o pipeline. Um armazenamento de artefatos separado, como um bucket do S3, é necessário para cada pipeline.

    Escolha Next (Próximo).

  7. Na página Step 2: Add source stage (Etapa 2: Adicionar um estágio de origem), adicione um estágio de origem:

    1. Em Provedor de origem, selecione GitHub (Versão 2).

    2. Em Conexão, escolha uma conexão existente ou crie uma nova. Para criar ou gerenciar uma conexão para sua ação de origem do GitHub, consulte GitHub conexões.

    3. Em Nome do repositório, selecione o nome do repositório do GitHub.

    4. Em Nome da ramificação, selecione a ramificação do repositório que você deseja usar.

    5. Assegure-se de que a opção Iniciar o pipeline na alteração do código-fonte esteja selecionada.

    6. Em Formato do artefato de saída, selecione Clone completo para habilitar a opção de clone do Git para o repositório de origem. Somente ações fornecidas pelo CodeBuild podem usar a opção de clone do Git. Você usará Etapa 3: Atualizar a política de perfil do serviço do CodeBuild para usar conexões neste tutorial para atualizar as permissões para o perfil de serviço do projeto do CodeBuild usar essa opção.

    Escolha Next (Próximo).

  8. Em Add build stage (Adicionar estágio de compilação), adicione um estágio de compilação:

    1. Em Build provider (Provedor de compilação), escolha AWS CodeBuild. Permita que Region (Região) seja definida para a região do pipeline.

    2. Escolha Criar projeto.

    3. Em Project name (Nome do projeto), insira um nome para esse projeto de compilação.

    4. Em Environment image (Imagem do ambiente), escolha Managed image (Imagem gerenciada). Para Operating system, selecione Ubuntu.

    5. Em Runtime (Tempo de execução), selecione Standard (Padrão). Em Imagem, selecione aws/codebuild/standard:5.0.

    6. Em Service role (Função de serviço), selecione New service role (Nova função de serviço).

      nota

      Anote o nome do perfil de serviço do CodeBuild. Você precisará do nome do perfil para a etapa final deste tutorial.

    7. Em Buildspec, para Build specifications (Especificações da compilação), escolha Insert build commands (Inserir comandos de compilação). Selecione Alternar para editor e cole o seguinte em Comandos de compilação.

      nota

      Na seção env da especificação de compilação, o assistente de credenciais para comandos do git deve estar habilitado conforme mostrado neste exemplo.

      version: 0.2 env: git-credential-helper: yes phases: install: #If you use the Ubuntu standard image 2.0 or later, you must specify runtime-versions. #If you specify runtime-versions and use an image other than Ubuntu standard image 2.0, the build fails. runtime-versions: nodejs: 12 # name: version #commands: # - command # - command pre_build: commands: - ls -lt - cat README.md build: commands: - git log | head -100 - git status - ls - git archive --format=zip HEAD > application.zip #post_build: #commands: # - command # - command artifacts: files: - application.zip # - location #name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths
    8. Escolha Continue to CodePipeline (Continuar para CodePipeline). Isso retornará para o console do CodePipeline e criará um projeto do CodeBuild que usa seus comandos de compilação para configuração. O projeto de criação usa um perfil de serviço para gerenciar permissões de AWS service (Serviço da AWS). Essa etapa pode levar alguns minutos.

    9. Escolha Next (Próximo).

  9. Na página Step 4: Add deploy stage (Etapa 4: adicionar estágio de implantação), escolha Skip deploy stage (Ignorar estágio de implantação) e aceite a mensagem de aviso ao clicar novamente em Skip (Ignorar). Escolha Next (Próximo).

  10. Em Step 5: Review (Etapa 5: revisar), escolha Create pipeline (Criar pipeline).

Etapa 3: Atualizar a política de perfil do serviço do CodeBuild para usar conexões

A execução inicial do pipeline falhará porque o perfil de serviço do CodeBuild deve ser atualizado com permissões para usar conexões. Adicione a permissão do IAM codestar-connections:UseConnection à política de perfil de serviço. Para obter instruções sobre como atualizar a política no console do IAM, consulte Adicione CodeBuild GitClone permissões para conexões com o Bitbucket GitHub, GitHub Enterprise Server ou .com GitLab.

Etapa 4: Visualizar os comandos do repositório na saída da compilação

  1. Quando o perfil de serviço for atualizado com êxito, selecione Tentar novamente no estágio com falha do CodeBuild.

  2. Depois que o pipeline for executado com êxito, no estágio de criação bem-sucedido, selecione Visualizar detalhes.

    Na página de detalhes, selecione a guia Logs. Veja o resultado da criação do CodeBuild. Os comandos geram o valor da variável inserida.

    Os comandos geram o conteúdo do arquivo README.md, listam os arquivos no diretório, clonam o repositório, exibem o log e arquivam o repositório como um arquivo ZIP.