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

Você pode escolher a opção de clonagem completa para sua ação CodeCommit de origem em CodePipeline. Use essa opção para permitir o acesso CodeBuild aos metadados do Git na ação de criação do pipeline.

Neste tutorial, você cria um pipeline que acessa seu CodeCommit repositório, usa a opção de clonagem completa para dados de origem e executa uma CodeBuild compilação que clona seu repositório e executa comandos Git para o repositório.

nota

CodeBuild as ações são as únicas ações downstream que suportam o uso de metadados do Git disponíveis com a opção Git clone. Além disso, embora seu funil possa conter ações entre contas, a CodeCommit ação e a CodeBuild ação devem estar na mesma conta para que a opção de clonagem completa seja bem-sucedida.

Pré-requisitos

Antes de começar, você deve criar um CodeCommit repositório na mesma AWS conta e região do seu funil.

Etapa 1: Criar um arquivo README

Use estas etapas para adicionar um arquivo README ao repositório de origem. O arquivo README fornece um exemplo de arquivo fonte para leitura da ação CodeBuild downstream.

Para adicionar um arquivo README
  1. Faça login no seu repositório e escolha seu repositório.

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

    This is a CodeCommit 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 ação CodeCommit de origem.

  • 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 MyCodeCommitPipeline.

  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 de serviço), faça um dos seguintes procedimentos:

    • Escolha Existing service role (Função de serviço existente).

    • Escolha sua função CodePipeline de serviço existente. Esse perfil deve ter a permissão do IAM codecommit:GetRepository para a política de perfil de serviço. Consulte Adicionar permissões à função CodePipeline de serviço.

  6. Em Configurações avançadas mantenha os padrões. Escolha Próximo.

  7. Na Etapa 2: Adicionar estágio de origem, faça o seguinte.

    1. Em Source provider (Provedor de código-fonte), selecione CodeCommit.

    2. Em Nome do repositório, selecione o nome do repositório.

    3. Em Nome da ramificação, selecione o nome da ramificação.

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

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

    Escolha Próximo.

  8. Em Adicionar etapa de compilação, faça o seguinte:

    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 editor e cole o seguinte em Comandos de compilação:

      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 describe --all #post_build: #commands: # - command # - command #artifacts: #files: # - location #name: $(date +%Y-%m-%d) #discard-paths: yes #base-directory: location #cache: #paths: # - paths
    8. Escolha Continuar para CodePipeline. Isso leva você de volta ao CodePipeline console e cria um CodeBuild projeto 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 Serviço da AWS . 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 clonar o repositório

A execução inicial do pipeline falhará porque você precisará atualizar a função CodeBuild de serviço com permissões para extrair do seu repositório.

Adicione a permissão do IAM codecommit:GitPull à política de perfil de serviço. Para obter instruções sobre como atualizar a política no console do IAM, consulte Adicionar CodeBuild GitClone permissões para ações CodeCommit de origem.

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

Para visualizar a 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, visualizam o log e executam git describe --all.