Tutorial: Usar variáveis no nível do pipeline - AWS CodePipeline

Tutorial: Usar variáveis no nível do pipeline

Neste tutorial, você criará um pipeline em que adicionará uma variável em nível de pipeline e executará uma ação de criação do CodeBuild que gera o valor da variável.

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.

Pré-requisitos

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

  • Crie um novo repositório do CodeCommit.

  • Adicione um arquivo .txt a um repositório.

Etapa 1: Criar seu pipeline e compilar o projeto

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

  • Um estágio de origem com uma conexão ao seu repositório CodeCommit.

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

  4. Em Etapa 2: Escolher as configurações do pipeline, em Nome do pipeline, insira MyVariablesPipeline.

  5. Em Tipo de pipeline, mantenha a seleção padrão em V2. Os tipos de pipeline diferem em características e preços. Para obter mais informações, consulte Tipos de pipeline.

  6. 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 serviço do CodePipeline existente, certifique-se de ter adicionado a permissão do IAM codeconnections: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.

  7. Em Variáveis, selecione Adicionar variável. Em Nome, insira timeout. Em Padrão, insira 1000. Em Descrição, insira a seguinte descrição: Timeout.

    Isso criará uma variável na qual você poderá declarar o valor quando a execução do pipeline começar. Os nomes das variáveis devem corresponder a [A-Za-z0-9@\-_]+ e podem ser qualquer coisa, exceto uma string vazia.

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

  9. Na página Etapa 3: Adicionar etapa de origem, adicione uma etapa de origem:

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

    2. Em Nome do repositório e Nome da ramificação, selecione o repositório e a ramificação.

    Escolha Próximo.

  10. Em Etapa 4: Adicionar etapa 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 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 do perfil de serviço do CodeBuild. 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. No buildspec, a variável do cliente $CUSTOM_VAR1 será usada para gerar a variável do pipeline no log de criação. Você criará a variável de saída $CUSTOM_VAR1 como uma variável de ambiente na etapa a seguir.

      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: - echo $CUSTOM_VAR1 #post_build: #commands: # - command # - command artifacts: files: - '*' # - 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 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.

    9. Em Variáveis de ambiente - opcional, para criar uma variável de ambiente como uma variável de entrada para a ação de criação que será resolvida pela variável em nível de pipeline, selecione Adicionar variável de ambiente. Isso criará a variável especificada no buildspec como $CUSTOM_VAR1. Em Nome, insira CUSTOM_VAR1. Em Valor, informe #{variables.timeout}. Em Tipo, escolhaPlaintext.

      O valor #{variables.timeout} da variável de ambiente é baseado no namespace da variável em nível de pipeline variables e na variável em nível de pipeline timeout criada para o pipeline na etapa 7.

    10. Escolha Próximo.

  11. Em Etapa 5: Adicionar etapa de teste, escolha Ignorar etapa de teste e aceite a mensagem de aviso escolhendo Ignorar novamente.

    Escolha Próximo.

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

  13. Em Etapa 7: revisar, escolha Criar pipeline.

Etapa 2: 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 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.

  2. No painel de navegação à esquerda, selecione Histórico.

    Escolha a execução recente e, depois, selecione a guia Variáveis. Visualize o valor resolvido para a variável do pipeline.