Tutorial: Usar tags do Git para iniciar o 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: Usar tags do Git para iniciar o pipeline

Neste tutorial, você criará um pipeline que se conecta ao seu GitHub repositório, onde a ação de origem é configurada para o tipo de gatilho de tags Git. Quando uma tag do Git é criada em uma confirmação, o pipeline é iniciado. Este exemplo mostra como criar um pipeline que permite a filtragem de tags com base na sintaxe do nome da tag. Para obter mais informações sobre a filtragem de padrões glob, consulte Trabalhar com padrões glob na sintaxe.

Este tutorial se conecta GitHub por meio do tipo de CodeStarSourceConnection ação.

nota

Este atributo não está disponível nas regiões Ásia-Pacífico (Hong Kong), África (Cidade do Cabo), Oriente Médio (Bahrein) ou Europa (Zurique). 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: abrir CloudShell e clonar seu repositório

É possível usar uma interface de linha de comandos para clonar o repositório, fazer confirmações e adicionar tags. Este tutorial inicia uma CloudShell instância para a interface de linha de comando.

  1. Faça login no AWS Management Console.

  2. Na barra de navegação superior, escolha o AWS ícone. A página principal dos AWS Management Console é exibida.

  3. Na barra de navegação superior, escolha o AWS CloudShell ícone. CloudShell abre. Aguarde enquanto o CloudShell ambiente é criado.

    nota

    Se você não vê o CloudShell ícone, verifique se você está em uma região suportada pelo CloudShell. Este tutorial pressupõe que você esteja na região do Oeste dos EUA (Oregon).

  4. Em GitHub, navegue até seu repositório. Selecione Editar e HTTPS. Copie o caminho. O endereço para clonar o repositório Git é copiado na área de transferência.

  5. Execute o comando a seguir para clonar o repositório.

    git clone https://github.com/<account>/MyGitHubRepo.git
  6. Entre na sua GitHub conta Username e Password quando solicitado. Para a entrada Password, é necessário usar um token criado pelo usuário em vez da senha da conta.

Etapa 2: Criar um pipeline para acionar as tags do Git

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

  4. Em Tipo de pipeline, mantenha a seleção padrão em V2. 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 codestar-connections: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.

    Selecione 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, 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 Trigger do pipeline, selecione Tags do Git.

      No campo Incluir, insira release*.

      Em Ramificação padrão, selecione a ramificação que você deseja especificar quando o pipeline é iniciado manualmente ou com um evento de origem que não seja uma tag do Git. Se a origem da alteração não for o gatilho ou se a execução de um pipeline tiver sido iniciada manualmente, a alteração usada será a confirmação HEAD da ramificação padrão.

      Importante

      Os pipelines que começam com um tipo de gatilho de tags do Git serão configurados para eventos WebhookV2 e não usarão o evento do Webhook (detecção de alterações em todos os eventos push) para iniciar o pipeline.

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

      version: 0.2 #env: #variables: # key: "value" # key: "value" #parameter-store: # key: "value" # key: "value" #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 #commands: # - command # - command #pre_build: #commands: # - command # - command build: commands: - #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 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 Serviço da AWS permissões. Essa etapa pode levar alguns minutos.

    9. Selecione 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). Selecione Next (Próximo).

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

Etapa 3: Marcar as confirmações para lançamento

Depois de criar seu pipeline e especificar as tags do Git, você pode marcar os commits no seu repositório. GitHub Nestas etapas, você marcará uma confirmação com a tag release-1. Cada confirmação em um repositório do Git deve ter uma tag exclusiva do Git. Ao selecionar a confirmação e marcá-la, isso permite incorporar alterações de diferentes ramificações na implantação do pipeline. Observe que o nome da tag release não se aplica ao conceito de lançamento em GitHub.

  1. Faça referência aos IDs de confirmação copiadas que você deseja marcar. Para visualizar as confirmações em cada ramificação, no CloudShell terminal, digite o seguinte comando para capturar as IDs de confirmação que você deseja marcar:

    git log
  2. No CloudShell terminal, insira o comando para marcar seu commit e enviá-lo para a origem. Depois de marcar a confirmação, use o comando git push para enviar a tag à origem. No exemplo a seguir, insira este comando para usar a tag release-1 para a segunda confirmação com o ID 49366bd. Essa tag será filtrada pelo filtro de tags release* do pipeline e iniciará o pipeline.

    git tag release-1 49366bd
    git push origin release-1
    Use o terminal para executar o comando para marcar uma confirmação.

Etapa 4: Lançar alterações e visualizar logs

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

    Em Registros, veja a saída da CodeBuild compilação. Os comandos geram o valor da variável inserida.

  2. Na página Histórico, visualize a coluna Gatilhos. Veja o tipo de gatilho GitTag : release-1.