Tutorial: Usar o clone completo com uma origem de pipeline do CodeCommit
É possível escolher a opção de clone completo para a ação de origem do CodeCommit no CodePipeline. Use essa opção para permitir que o CodeBuild acesse os metadados do Git na ação de criação de pipeline.
Neste tutorial, você criará um pipeline que acessará o repositório do CodeCommit, usará a opção de clonagem completa para dados de origem e executará uma compilação do CodeBuild que clonará o repositório e executará comandos do Git para o repositório.
nota
As ações do CodeBuild são as únicas ações posteriores compatíveis com o uso de metadados do Git disponíveis com a opção de clone do Git. Além disso, embora o pipeline possa conter ações entre contas, a ação do CodeCommit e a ação do CodeBuild devem estar na mesma conta para que a opção de clonagem completa seja bem-sucedida.
Importante
Como parte da criação de um pipeline, um bucket de artefatos do S3 fornecido pelo cliente será usado pelo CodePipeline para artefatos. (Este bucket não é o mesmo utilizado para uma ação de origem do S3.) Se o bucket de artefatos do S3 estiver em uma conta diferente da conta do pipeline, garanta que o bucket de artefatos do S3 seja de propriedade de Contas da AWS seguras e confiáveis.
Tópicos
Pré-requisitos
Antes de começar, é necessário criar um repositório do CodeCommit na mesma região e conta da AWS do pipeline.
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 de origem para leitura da ação posterior do CodeBuild.
Para adicionar um arquivo README
-
Faça login no seu repositório e escolha seu repositório.
-
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! -
Escolha Commit changes (Confirmar alterações).
Certifique-se de que o arquivo
README.mdesteja 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 de origem do CodeCommit.
-
Um estágio de compilação com uma ação de compilação AWS CodeBuild.
Criar um pipeline com o assistente
-
Faça login no console do CodePipeline em https://console.aws.amazon.com/codesuite/codepipeline
. -
Na página Welcome (Bem-vindo), Getting started (Conceitos básicos) ou Pipelines, selecione Create pipeline (Criar pipeline).
-
Na página Etapa 1: Escolher opção de criação, em Opções de criação, selecione a opção Criar pipeline personalizado. Escolha Próximo.
-
Em Etapa 2: Escolher as configurações do pipeline, em Nome do pipeline, insira
MyCodeCommitPipeline. -
O CodePipeline disponibiliza pipelines dos tipos V1 e V2, que apresentam características e custos diferentes. O tipo V2 é o único tipo que você pode escolher no console. Para ter mais informações, consulte Pipeline types. Para obter informações sobre preços do CodePipeline, consulte Preços
. -
Em Perfil de serviço, faça um dos seguintes procedimentos:
-
Escolha Existing service role (Função de serviço existente).
-
Selecione o perfil de serviço do CodePipeline a seguir. Esse perfil deve ter a permissão do IAM
codecommit:GetRepositorypara a política de perfil de serviço. Consulte Adicionar permissões ao perfil de serviço do CodePipeline.
-
-
Em Configurações avançadas mantenha os padrões. Escolha Próximo.
-
Na página Etapa 3: Adicionar etapa de origem, faça o seguinte:
-
Em Provedor de origem, selecione CodeCommit.
-
Em Nome do repositório, selecione o nome do repositório.
-
Em Nome da ramificação, selecione o nome da ramificação.
-
Assegure-se de que a opção Iniciar o pipeline na alteração do código-fonte esteja selecionada.
-
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.
Escolha Próximo.
-
-
Em Etapa 4: Adicionar etapa de compilação, faça o seguinte:
-
Em Build provider (Provedor de compilação), escolha AWS CodeBuild. Permita que Region (Região) seja definida para a região do pipeline.
-
Escolha Criar projeto.
-
Em Nome do projeto, insira um nome para esse projeto de compilação.
-
Em Environment image (Imagem do ambiente), escolha Managed image (Imagem gerenciada). Para Operating system, selecione Ubuntu.
-
Em Runtime (Tempo de execução), selecione Standard (Padrão). Em Imagem, selecione aws/codebuild/standard:5.0.
-
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.
-
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 -
Escolha Continue to CodePipeline (Continuar para CodePipeline). O console do CodePipeline será exibido e será criado um projeto do CodeBuild que use os comandos de criaçã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.
-
Escolha Próximo.
-
-
Em Etapa 5: Adicionar etapa de teste, escolha Ignorar etapa de teste e aceite a mensagem de aviso escolhendo Ignorar novamente.
Escolha Próximo.
-
Na página Etapa 6: adicionar estágio de implantação, escolha Ignorar estágio de implantação e aceite a mensagem de aviso escolhendo Ignorar novamente. Escolha Próximo.
-
Em Etapa 7: revisar, escolha Criar pipeline.
Etapa 3: Atualizar a política de perfil de serviço do CodeBuild para clonar o repositório
A execução inicial do pipeline falhará porque você precisa atualizar o perfil de serviço do CodeBuild 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 Adicione permissões do CodeBuild GitClone para ações de origem do CodeCommit.
Etapa 4: Visualizar os comandos do repositório na saída da compilação
Para visualizar a saída da compilação
-
Quando o perfil de serviço for atualizado com êxito, selecione Tentar novamente no estágio com falha do CodeBuild.
-
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, visualizam o log e executamgit describe --all.