Se a execução de um pipeline falhar, você poderá usar a reversão para retornar seu ambiente a um estado anteriormente estável. Para usar a reversão, planeje um fluxo de reversão e entenda como implementá-lo.
Um fluxo de reversão determina as etapas obrigatórias para reverter uma falha na implantação. O fluxo tem o formato de um pipeline de reversão que inclui uma ou mais tarefas sequenciais que variam dependendo do tipo de implantação que foi executada e falhou. Por exemplo, a implantação e a reversão de um aplicativo tradicional são diferentes da implantação e da reversão de um aplicativo de contêiner.
- Limpar estados ou ambientes.
- Executar um script especificado pelo usuário para reverter as alterações.
- Implantar uma revisão anterior de uma implantação.
Para adicionar a reversão a um pipeline de implantação existente, anexe o pipeline de reversão às tarefas ou estágios no pipeline de implantação que deseja reverter antes de executá-lo.
Como configurar a reversão
Para configurar a reversão na implantação, é necessário:
- Criar um pipeline de implantação.
- Identificar os possíveis pontos de falha no pipeline de implantação que acionarão a reversão para que você possa anexar o pipeline de reversão. Por exemplo, é possível anexar seu pipeline de reversão a uma condição ou tipo de tarefa de sondagem no pipeline de implantação que verifica se uma tarefa anterior foi concluída com êxito. Para obter informações sobre tarefas de condição, consulte Como usar associações de variáveis em uma tarefa de condição para executar ou parar um pipeline no Code Stream.
- Determine o escopo da falha que disparará o pipeline de reversão, como uma falha de tarefa ou estágio. Também é possível anexar a reversão a um estágio.
- Decida quais tarefas ou tarefas de reversão serão executadas em caso de falha. Você criará seu pipeline de reversão com essas tarefas.
É possível criar manualmente um pipeline de reversão ou o Code Stream pode criar um para você. Você também pode selecionar um pipeline compartilhado para reversão.
- Usando uma tela em branco, é possível criar manualmente um pipeline de reversão que segue um fluxo em paralelo a um pipeline de implantação existente. Em seguida, anexe o pipeline de reversão a uma ou mais tarefas no pipeline de implantação que dispara a reversão em caso de falha.
- Usando um modelo de pipeline inteligente, é possível configurar um pipeline de implantação com a ação de reversão. Em seguida, o Code Stream cria automaticamente um ou mais pipelines de reversão padrão com tarefas predefinidas que revertem a implantação em caso de falha.
Para obter um exemplo detalhado sobre como configurar um pipeline de CD com reversão usando um modelo de pipeline inteligente, consulte o Como faço para reverter minha implantação no Code Stream.
- Ao usar um pipeline compartilhado para reversão, você não precisa criar vários pipelines de reversão que executam a mesma função. Você pode selecionar o pipeline compartilhado para reverter tarefas para pipelines em diferentes projetos.
Para ver como configurar uma tarefa de pipeline com reversão usando um pipeline compartilhado, consulte Criando e usando pipelines compartilhados no Code Stream.
O que acontece se meu pipeline de implantação tiver várias tarefas ou estágios com reversão
Se você adicionar a reversão para... | Quando a reversão ocorre... |
---|---|
Tarefas paralelas | Se uma das tarefas paralelas falhar, a reversão para essa tarefa ocorrerá depois que todas as tarefas paralelas forem concluídas ou falharem. A reversão não ocorrerá imediatamente após a falha na tarefa. |
A tarefa em um estágio e o estágio | Se uma tarefa falhar, a reversão da tarefa será executada. Se a tarefa estiver em um grupo de tarefas paralelas, a reversão da tarefa será executada depois que todas as tarefas paralelas forem concluídas ou falharem. Depois que a reversão da tarefa for concluída ou falhar ao ser concluída, a reversão do estágio será executada. |
Considere um pipeline com:
- Um estágio de produção com reversão.
- Um grupo de tarefas paralelas, cada tarefa com sua própria reversão.
A tarefa chamada UPD Deploy US tem o pipeline de reversão RB_Deploy_US. Se o UPD Deploy US falhar, a reversão seguirá o fluxo definido no pipeline de RB_Deploy_US.
Se o UPD Deploy US falhar, o pipeline de RB_Deploy_US será executado após o UPD Deploy UK e o UPD Deploy AU terem sido concluídos ou falharem. A reversão não ocorrerá imediatamente após o UPD Deploy US falhar. E como o estágio de produção também tem reversão, após a execução do pipeline de RB_Deploy_US, o pipeline de reversão de estágio será executado.