Tutorial: use o clone completo com uma fonte de GitHub pipeline - 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: use o clone completo com uma fonte de GitHub pipeline

Você pode escolher a opção de clonagem completa para sua ação GitHub de origem em CodePipeline. Use essa opção para executar CodeBuild comandos para metadados do Git na ação de criação do pipeline.

Neste tutorial, você criará um pipeline que se conecta ao seu GitHub repositório, usa a opção de clonagem completa para os dados de origem e executa uma CodeBuild compilação que clona seu repositório e executa comandos Git para o repositório.

nota

Esse recurso não está disponível nas regiões Ásia-Pacífico (Hong Kong), África (Cidade do Cabo), Oriente Médio (Bahrein), Europa (Zurique) ou 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 GitHub repositório com sua GitHub conta.

  • Tenha suas GitHub credenciais prontas. Quando você usa o AWS Management Console para configurar uma conexão, você é solicitado a entrar com suas GitHub credenciais.

Etapa 1: Criar um arquivo README

Depois de criar seu GitHub repositório, use essas etapas para adicionar um arquivo README.

  1. Faça login no seu GitHub repositório e escolha seu repositório.

  2. Para criar um novo arquivo, escolha Adicionar arquivo > Criar novo arquivo. Forneça o nome ao arquivo README.md. 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 seu pipeline e criar o projeto

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

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

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

Criar um pipeline com o assistente
  1. Faça login no CodePipeline console em https://console.aws.amazon.com/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 ter 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 CodePipeline serviço existente, certifique-se de ter adicionado a permissão do codeconnections:UseConnection IAM à sua política de função de serviço. Para obter instruções sobre a função de CodePipeline serviço, consulte Adicionar permissões à função CodePipeline de serviço.

  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 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, escolha 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 GitHub de origem, consulteGitHub conexões.

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

    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 as ações fornecidas pelo CodeBuild podem usar a opção de clonagem do Git. Você usará Etapa 3: atualizar a política CodeBuild de função de serviço para usar conexões neste tutorial para atualizar as permissões da sua função de serviço CodeBuild do projeto para usar essa opção.

    Escolha 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 da sua função CodeBuild de serviço. 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 o 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 Continuar para CodePipeline. Isso retorna ao CodePipeline console e cria um CodeBuild projeto que usa seus comandos de compilação para configuração. O projeto de compilação usa uma função de serviço para gerenciar AWS service (Serviço da AWS) permissões. Essa etapa pode levar alguns minutos.

    9. Escolha 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 Próximo.

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

Etapa 3: atualizar a política CodeBuild de função de serviço para usar conexões

A execução inicial do pipeline falhará porque a função de CodeBuild serviço deve ser atualizada com permissões para usar conexões. Adicione a permissão do IAM codeconnections: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 sua função de serviço for atualizada com êxito, escolha Tentar novamente no CodeBuild estágio de falha.

  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 a saída da CodeBuild compilação. 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.