Editar um pipeline no CodePipeline - AWS CodePipeline

Editar um pipeline no CodePipeline

Um pipeline descreve o processo de liberação que deseja que o AWS CodePipeline siga, incluindo os estágios e as ações que devem ser realizadas. É possível editar um pipeline para adicionar ou remover esses elementos. No entanto, ao editar um pipeline, valores, como o nome do pipeline ou metadados do pipeline não poderão ser alterados.

É possível editar o tipo, as variáveis e os gatilhos do pipeline usando a página de edição do pipeline. Também é possível adicionar ou alterar estágios e ações no pipeline.

Ao contrário da criação de um pipeline, a edição de um pipeline não executa novamente a revisão mais recente no pipeline. Se desejar executar a revisão mais recente em um pipeline que acabou de editar, você deverá executá-la manualmente outra vez. Caso contrário, o pipeline editado será executado na próxima vez que você fizer uma alteração em um local de origem configurado no estágio de origem. Para mais informações, consulte Iniciar um pipeline manualmente.

Você pode adicionar ações ao pipeline que estejam em outra região da AWS diferente em seu pipeline. Quando um AWS service (Serviço da AWS) é o provedor de uma ação e esse tipo de ação/tipo de provedor não está na mesma região da AWS que o pipeline, essa é uma ação entre regiões. Para obter mais informações sobre ações entre regiões, consulte Adicionar uma ação entre regiões no CodePipeline.

O CodePipeline usa métodos de detecção de alterações para iniciar o pipeline quando uma alteração em seu código-fonte é enviada. Esses métodos de detecção são baseados em tipo de origem:

  • O CodePipeline usa o Amazon CloudWatch Events para detectar alterações no repositório de origem do CodeCommit ou no bucket de origem do Amazon S3.

nota

Os recursos de detecção de alterações são criados automaticamente quando você usa o console. Quando o console é usado para criar ou editar um pipeline, os recursos adicionais são criados para você. Se usar a AWS CLI para criar o pipeline, você mesmo deverá criar os recursos adicionais. Para obter mais informações sobre a criação ou atualização de um pipeline do CodeCommit, consulte Criar uma regra do EventBridge para uma origem do CodeCommit (CLI). Para obter mais informações sobre o uso da CLI para criar ou atualizar um pipeline do Amazon S3, consulte Criar uma regra do EventBridge para uma origem do Amazon S3 (CLI).

Editar um pipeline (console)

Você pode usar o console do CodePipeline para adicionar, editar ou remover estágios em um pipeline e para adicionar, editar ou remover ações em uma etapa.

Quando você atualiza um pipeline, o CodePipeline conclui normalmente todas as ações em execução e, em seguida, falha nas etapas e execuções de pipeline em que as ações em execução foram concluídas. Quando um pipeline for atualizado, você precisará executá-lo novamente. Para obter mais informações sobre a execução de um pipeline, consulte Iniciar um pipeline manualmente.

Para editar um pipeline
  1. Faça login no Console de gerenciamento da AWS e abra o console do CodePipeline em http://console.aws.amazon.com/codesuite/codepipeline/home.

    Os nomes de todos os pipelines associados à sua conta da AWS são exibidos.

  2. Em Nome, selecione o nome do pipeline que você deseja editar. Isso abrirá um visão detalhada do pipeline, incluindo o estado de cada uma das ações em cada estágio do pipeline.

  3. Na página de detalhes do pipeline, selecione Editar.

  4. Para editar o tipo de pipeline, selecione Editar no cartão Editar: propriedades do pipeline. Escolha uma das opções a seguir e selecione Concluído.

    • Os pipelines do tipo V1 têm uma estrutura JSON que contém parâmetros padrão no nível do pipeline, do estágio e da ação.

    • Os pipelines do tipo V2 têm a mesma estrutura do tipo V1, além do suporte adicional a parâmetros, como gatilhos e variáveis em nível de pipeline.

    Os tipos de pipeline diferem em características e preços. Para obter mais informações, consulte Tipos de pipeline.

  5. Para editar as variáveis do pipeline, selecione Editar variáveis no cartão Editar: Variáveis. Adicione ou altere variáveis para o nível do pipeline e selecione Concluído.

    Para obter mais informações sobre as variáveis no nível do pipeline, consulte Referência de variáveis. Para assistir a um tutorial com uma variável no nível do pipeline que é passada no momento da execução do pipeline, consulte. Tutorial: Usar variáveis no nível do pipeline

    nota

    Embora seja opcional adicionar variáveis no nível do pipeline, para um pipeline especificado com variáveis no nível do pipeline em que nenhum valor é fornecido, a execução do pipeline falhará.

  6. Para editar os gatilhos do pipeline, selecione Editar gatilhos no cartão Editar: Gatilhos. Adicione ou altere os gatilhos e, depois, selecione Concluído.

    Para obter mais informações sobre como adicionar gatilhos, consulte as etapas para criar uma conexão com Bitbucket Cloud, GitHub (por meio do aplicativo do GitHub), GitHub Enterprise Server, GitLab.com ou GitLab autogerenciado, como Conexões do GitHub.

  7. Para editar estágios e ações na página Editar, siga um destes procedimentos:

    • Para editar um estágio, escolha Edit stage (Editar estágio). É possível adicionar ações em série e paralelo com as ações existentes:

      Você também pode editar ações nessa visualização, escolhendo o ícone de edição das ações. Para excluir uma ação, selecione o ícone de exclusão dessa ação.

    • Para editar uma ação, escolha o ícone de edição para a ação e depois altere os valores em Edit action. Itens marcados com um asterisco (*) são obrigatórios.

      • Para um nome de repositório e a ramificação do CodeCommit, será exibida uma mensagem mostrando a regra do Amazon CloudWatch Events a ser criada para esse pipeline. Se você remover a origem do CodeCommit, será exibida uma mensagem mostrando a regra do Amazon CloudWatch Events a ser excluída.

      • Para um bucket de origem do Amazon S3, será exibida uma mensagem mostrando a regra do Amazon CloudWatch Events e a trilha do AWS CloudTrail a serem criadas para esse pipeline. Se você remover a origem do Amazon S3, será exibida uma mensagem mostrando a regra do Amazon CloudWatch Events e a trilha do AWS CloudTrail a serem excluídas. Se a trilha do AWS CloudTrail estiver em uso por outros pipelines, ela não será removida e o evento de dados será excluído.

    • Para adicionar um estágio, selecione + Add stage (+ Adicionar estágio) no ponto do pipeline onde você deseja adicionar um estágio. Forneça um nome para o estágio e depois adicione pelo menos uma ação. Itens marcados com um asterisco (*) são obrigatórios.

    • Para excluir um estágio, selecione o ícone de exclusão daquele estágio. O estágio e todas as suas ações serão excluídos.

    • Para configurar um estágio para reverter automaticamente em caso de falha, escolha Editar estágio e, em seguida, escolha a caixa de seleção Configurar reversão automática em caso de falha do estágio.

    Por exemplo, se você quisesse adicionar uma ação serial a um estágio de um pipeline:

    1. No estágio em que você quer adicionar a ação, selecione Edit stage (Editar estágio) e depois selecione + Add action group (+ Adicionar grupo de ação).

    2. Em Edit action (Editar ação), em Action name (Nome da ação), insira o nome da ação. A lista Action provider (Fornecedor de ação) exibe opções de fornecedor por categoria. Procure a categoria (por exemplo, Deploy (Implantar)). Na categoria, escolha o provedor, (por exemplo, AWS CodeDeploy). Em Região, escolha a região da AWS na qual o recurso foi criado ou você planeja criá-lo. O campo Região designa o local em que os recursos da AWS serão criados para esse tipo de ação e de provedor. Esse campo é exibido apenas para ações em que o provedor de ação é um AWS service (Serviço da AWS). Por padrão, o campo Região assume a mesma região da AWS de seu pipeline.

      Para obter exemplos de como adicionar provedores de ação e usar os campos padrão para cada provedor, consulte Criar um pipeline personalizado (console).

      Para adicionar o CodeBuild como uma ação de compilação ou uma ação de teste em um estágio, consulte Usar o CodePipeline com o CodeBuild para testar o código e executar compilações no Guia do usuário do CodeBuild.

      nota

      Alguns provedores de ação, como o GitHub, exigem que você se conecte ao site do provedor antes de concluir a configuração da ação. Ao se conectar ao site de um provedor, certifique-se de utilizar as credenciais para aquele site. Não utilize suas credenciais da AWS.

    3. Quando você finalizar a configuração da ação, selecione Save (Salvar).

    nota

    Não é possível renomear um estágio a partir da visualização do console. Você pode adicionar um estágio com o nome que deseja alterar e depois excluir o antigo. Certifique-se de ter adicionado todas as ações que deseja ao estágio antes de excluir o antigo.

  8. Quando terminar de editar seu pipeline, selecione Save (Salvar) para voltar à página de resumo.

    Importante

    Após salvar as alterações, não será possível desfazê-las. Você deve editar o pipeline novamente. Se uma revisão estiver em execução através do pipeline quando você salvar suas alterações, a execução não será concluída. Se deseja que uma confirmação ou alteração específica seja executada pelo pipeline editado, você deve executá-la manualmente pelo pipeline. Caso contrário, a próxima confirmação ou alteração será executada automaticamente através do pipeline.

  9. Para testar a ação, escolha Lançar alteração para processar essa confirmação no pipeline e confirmar uma alteração na origem especificada no estágio de origem do pipeline. Ou siga as etapas em Iniciar um pipeline manualmente para usar o AWS CLI para liberar manualmente uma alteração.

Editar um pipeline (AWS CLI)

Você pode usar o comando update-pipeline para editar um pipeline.

Quando você atualiza um pipeline, o CodePipeline conclui normalmente todas as ações em execução e, em seguida, falha nas etapas e execuções de pipeline em que as ações em execução foram concluídas. Quando um pipeline for atualizado, você precisará executá-lo novamente. Para obter mais informações sobre a execução de um pipeline, consulte Iniciar um pipeline manualmente.

Importante

Embora seja possível usar a AWS CLI para editar pipelines que incluem ações de parceiro, você não deve editar manualmente o JSON de uma ação de parceiro. Se fizer isso, a ação de parceiro falhará após a atualização do pipeline.

Para editar um pipeline
  1. Abra uma sessão de terminal (Linux, macOS, or Unix) ou prompt de comando (Windows) e execute o comando get-pipeline para copiar a estrutura do pipeline em um arquivo JSON. Por exemplo, para um pipeline nomeado MyFirstPipeline, insira o seguinte comando:

    aws codepipeline get-pipeline --name MyFirstPipeline >pipeline.json

    Este comando retorna nada, mas o arquivo que você criou deve aparecer no diretório onde você executou o comando.

  2. Abra o arquivo JSON em qualquer editor de texto plano e modifique a estrutura do arquivo para refletir as alterações que você deseja fazer no pipeline. Por exemplo, você pode adicionar ou remover etapas ou adicionar outra ação a um estágio existente.

    O exemplo a seguir mostra como você pode adicionar outro estágio de implantação no arquivo pipeline.json. Este estágio é executado após o primeiro estágio de implantação, designado como Staging (Preparação).

    nota

    Essa é apenas uma parte do arquivo e não a estrutura completa. Para obter mais informações, consulte Referência da estrutura do pipeline do CodePipeline.

    , { "name": "Staging", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-CodeDeploy-Application", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineDemoFleet" }, "runOrder": 1 } ] }, { "name": "Production", "actions": [ { "inputArtifacts": [ { "name": "MyApp" } ], "name": "Deploy-Second-Deployment", "actionTypeId": { "category": "Deploy", "owner": "AWS", "version": "1", "provider": "CodeDeploy" }, "outputArtifacts": [], "configuration": { "ApplicationName": "CodePipelineDemoApplication", "DeploymentGroupName": "CodePipelineProductionFleet" }, "runOrder": 1 } ] } ] }

    Para obter informações sobre como usar a ILC para adicionar uma ação de aprovação a um pipeline, consulte Adicionar uma ação de aprovação manual a um pipeline no CodePipeline .

    Verifique se o parâmetro PollForSourceChanges está definido como mostrado a seguir no arquivo JSON:

    "PollForSourceChanges": "false",

    O CodePipeline usa o Amazon CloudWatch Events para detectar alterações no repositório e na ramificação de origem do CodeCommit ou no bucket de origem do Amazon S3. A próxima etapa inclui instruções para criar esses recursos manualmente. Definir o sinalizador como false desativa verificações periódicas, que não são necessárias ao se usar os métodos de detecção de alterações recomendados.

  3. Para adicionar uma ação de compilação, teste ou implantação em uma região diferente do seu pipeline, é necessário adicionar o seguinte à sua estrutura de pipeline. Para ter instruções detalhadas, consulte Adicionar uma ação entre regiões no CodePipeline.

    • Adicione o parâmetro de Region à ação da estrutura do pipeline.

    • Use o parâmetro artifactStores para especificar um bucket de artefatos para cada região na qual exista uma ação.

  4. Se você estiver trabalhando com a estrutura do pipeline recuperada usando o comando get-pipeline, você deve modificar a estrutura no arquivo JSON. Você deve remover as linhas metadata do arquivo para que o comando update-pipeline possa usá-lo. Remova a seção da estrutura do pipeline no arquivo JSON (as linhas de "metadata": { } e os campos "created", "pipelineARN" e "updated").

    Por exemplo, remova as seguintes linhas da estrutura:

    "metadata": { "pipelineArn": "arn:aws:codepipeline:region:account-ID:pipeline-name", "created": "date", "updated": "date" }

    Salve o arquivo.

  5. Se usar a ILC para editar um pipeline, você deverá gerar manualmente os recursos de detecção de alterações recomendados para o seu pipeline:

  6. Para aplicar suas alterações, execute o comando update-pipeline especificando o arquivo JSON do pipeline:

    Importante

    Não se esqueça de incluir file:// antes do nome de arquivo. Ele é obrigatório nesse comando.

    aws codepipeline update-pipeline --cli-input-json file://pipeline.json

    Este comando retorna toda a estrutura do pipeline editado.

    nota

    O comando update-pipeline interrompe o pipeline. Se uma revisão estiver sendo executada pelo pipeline quando você executar o comando update-pipeline, essa execução será interrompida. Você deve iniciar manualmente o pipeline para executar a revisão através do pipeline atualizado.

  7. Abra o console do CodePipeline e selecione o pipeline recém-editado.

    O pipeline exibirá suas alterações. Na próxima vez que você alterar a localização de origem, o pipeline executará a revisão através da estrutura revisada do pipeline.

  8. Para executar manualmente a última revisão pela estrutura revisada do pipeline, execute o comando start-pipeline-execution. Para obter mais informações, consulte Iniciar um pipeline manualmente.

Para obter mais informações sobre a estrutura de um pipeline e os valores esperados, consulte Referência da estrutura do pipeline do CodePipeline e Referência da API do AWS CodePipeline.