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

Você pode escolher a opção de clone completo para a ação de origem do GitHub no CodePipeline. Use essa opção para executar comandos CodeBuild para metadados Git na ação de compilação do pipeline.

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

nota

Este recurso não está disponível nas regiões Ásia-Pacífico (Hong Kong) e Europa (Milão) e Europa (Milão). Para fazer referência a outras ações disponíveis, consulteIntegrações de produtos e serviços ao CodePipeline.

Pré-requisitos

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

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

  • Tenha suas credenciais do GitHub em mãos. Quando você usa oAWS Management ConsolePara configurar uma conexão, você é solicitado a entrar com suas 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 escolha o repositório do.

  2. Para criar um novo arquivo, selecioneAdicionar arquivo > Criar novo arquivo. Nomeie o arquivoREADME.md. arquive 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: Crie seu pipeline e construa projeto

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

  • Um estágio de origem com conexão com seu 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. DentroEtapa 1: Selecione as configurações do pipeline, emPipeline name (Nome do pipeline), insiraMyGitHubPipeline.

  4. Em Service role (Função de serviço), selecione Create service role (Criar 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.

  5. DentroLoja de Artifact, escolhaLocal padrãopara usar o armazenamento de artefatos padrão

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

  6. NoEtapa 2: Adicionar estágio de origem, adicione um estágio de origem:

    1. Em Source provider (Provedor de origem), escolha GitHub.

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

    3. DentroNome do repositório, escolha o nome do repositório do GitHub.

    4. DentroNome do rami, escolha a ramificação do repositório que você deseja usar.

    5. SelecioneClone completopara habilitar a opção git clone para o repositório de origem. Somente ações fornecidas pelo CodeBuild podem usar a opção git clone. Você usaráEtapa 3: Atualize a política de função do serviço CodeBuild para usar conexõesneste tutorial para atualizar as permissões para a função de serviço do projeto CodeBuild para usar essa opção.

    Escolha Next (Próximo).

  7. 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 Create project (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, escolha aws/codebuild/standard:4.0.

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

      nota

      Observe o nome da função do serviço CodeBuild. Você precisará do nome da função para a etapa final neste tutorial.

    7. Em Buildspec, para Build specifications (Especificações da compilação), escolha Insert build commands (Inserir comandos de compilação). SelecioneMudar para editore cole o seguinte emComandos compilar.

      nota

      Noenvda especificação de compilação, certifique-se de que o auxiliar de credencial para comandos git está habilitado como 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: 10 # 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 compilação usa uma função de serviço para gerenciar permissões de serviço da AWS. Essa etapa pode levar alguns minutos.

    9. Escolha Next (Próximo).

  8. NoEtapa 4: Adicionar estágio de implantaçãoNa página, escolhaIgnorar estágio de implantaçãoEm seguida, aceite a mensagem de aviso ao escolherIgnorarnovamente. Escolha Next (Próximo).

  9. NoEtapa 5: Review (Revisar), escolhaCriar pipeline.

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

A execução inicial do pipeline falhará porque a função de serviço CodeBuild deve ser atualizada com permissões para usar conexões. Adicionar ocodestar-connections:UseConnectionPermissão do IAM para sua política de função de serviço. Para obter instruções sobre como atualizar a política no console do IAM, consulteAdicionar CodeBuild Permissões do GitClone para conexões com Bitbucket, GitHub ou GitHub Servidor corporativo.

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

  1. Quando sua função de serviço for atualizada com sucesso, escolhaTentar novamenteno estágio CodeBuild com falha.

  2. Depois de o pipeline ser executado com sucesso, em seu estágio de compilação bem-sucedido, escolhaDetalhes.

    Em Execution details (Detalhes da execução), visualize a saída de compilação do CodeBuild. Os comandos emitem oREADME.mdconteúdo do arquivo, liste os arquivos no diretório, clone o repositório, visualize o log e arquive o repositório como um arquivo ZIP.