Configure a reversão como um pipeline com tarefas que retornam sua implantação a um estado estável anterior após uma falha em um pipeline de implantação. Para reverter se ocorrer uma falha, você anexa o pipeline de reversão a tarefas ou estágios.
Dependendo da sua função, seus motivos para reversão podem variar.
- Como engenheiro de liberação, quero que o Code Stream verifique o sucesso durante uma liberação para eu saber se devo continuar com a versão ou revertê-la. Possíveis falhas incluem falha na tarefa, uma rejeição em UserOps, excedendo o limite de métricas.
- Como proprietário do ambiente, desejo reimplantar uma versão anterior para poder retornar rapidamente um ambiente para um estado em boas condições.
- Como proprietário do ambiente, quero oferecer suporte à reversão de uma implantação de Azul-Verde para que eu possa minimizar o tempo de inatividade das versões com falha.
Ao usar um modelo de pipeline inteligente para criar um pipeline de CD com a opção reversão selecionada, a reversão é automaticamente adicionada às tarefas no pipeline. Nesse caso de uso, o modelo de pipeline inteligente será usado para definir a reversão de uma implantação de aplicativo em um cluster Kubernetes usando o modelo de implantação de upgrade contínuo. O modelo de pipeline inteligente cria um pipeline de implantação e um ou mais pipelines de reversão.
- No pipeline de implantação, a reversão será necessária se as tarefas de implantação de atualização ou de implantação de verificação falharem.
- No pipeline de reversão, a implantação é atualizada com uma imagem antiga.
Também é possível criar manualmente um pipeline de reversão usando um modelo em branco. Antes de criar um pipeline de reversão, é necessário planejar o fluxo de reversão. Para obter mais informações básicas sobre a reversão, consulte Planejando uma reversão no Code Stream.
Pré-requisitos
- Verifique se você é membro de um projeto no Code Stream. Se não for, peça a um administrador do Code Stream para adicioná-lo como membro de um projeto. Consulte Como adicionar um projeto no Code Stream.
- Configure os clusters do Kubernetes em que o pipeline implantará seu aplicativo. Configure um cluster de desenvolvimento e um cluster de produção.
- Verifique se há uma configuração de registro do Docker.
- Identifique um projeto que agrupará todo o seu trabalho, incluindo o pipeline, os endpoints e os painéis.
- Familiarize-se com o modelo inteligente de CD, conforme descrito na parte sobre CD de Como planejar uma compilação nativa de CICD no Code Stream antes de usar o modelo de pipeline inteligente, por exemplo:
- Crie os endpoints de produção e desenvolvimento do Kubernetes que implantam a imagem do aplicativo nos clusters do Kubernetes.
- Prepare o arquivo YAML do Kubernetes que cria o Namespace, o Serviço e a Implantação. Se você precisar baixar uma imagem de um repositório de propriedade privada, o arquivo YAML deverá incluir uma seção com o Segredo de configuração do Docker.
Procedimento
- Clique em .
- Digite as informações no modelo de pipeline inteligente.
- Selecione um projeto.
- Digite o nome do pipeline, como RollingUpgrade-Example.
- Selecione os ambientes para seu aplicativo. Para adicionar a reversão à implantação, é necessário selecionar Prod..
- Clique em Selecionar, escolha um arquivo YAML do Kubernetes e clique em Processar.
O modelo de pipeline inteligente exibe os serviços e os ambientes de implantação disponíveis.
- Selecione o serviço que o pipeline usará para a implantação.
- Selecione os endpoints do cluster para o ambiente Dev e o ambiente Prod.
- Para a origem da imagem, selecione Entrada do tempo de execução do pipeline.
- Para o modelo de implantação, selecione Atualização Contínua.
- Clique em Reverter.
- Forneça a URL de verificação de integridade.
- Para criar o pipeline chamado RollbackUpgrade-Example, clique em Criar.
O pipeline denominado RollbackUpgrade-Example é exibido, e o ícone de reversão aparece nas tarefas que podem ser revertidas no estágio Desenvolvimento e no estágio Produção.
- Feche o pipeline.
Na página Pipelines, o pipeline que você criou é exibido, e um novo pipeline para cada estágio no seu pipeline é exibido.
- RollingUpgrade-Example. O Code Stream desativa o pipeline que você criou por padrão, o que garante que você possa revisá-lo antes de o executar.
- RollingUpgrade-Example_Dev_Rollback. Falha de tarefas na fase de desenvolvimento, como Criar serviço, Criar segredo, Criar implantação e Verificar implantação invocam esse pipeline de desenvolvimento de reversão. Para garantir a reversão de tarefas de desenvolvimento, o Code Stream ativa o pipeline de desenvolvimento de reversão por padrão.
- RollingUpgrade-Example_Prod_Rollback. Falha de tarefas no estágio de produção, como Implantar - Fase 1, Verificar - Fase 1, Implantar - Fase de lançamento, Finalizar - Fase de lançamento e Verificar - Fase de lançamento, invocam esse pipeline de produção de reversão. Para garantir a reversão das tarefas de produção, o Code Stream ativa o pipeline de produção de reversão por padrão.
- Ative e execute o pipeline criado.
Quando você iniciar a execução, o
Code Stream solicitará parâmetros de entrada. Forneça a imagem e a tag para o endpoint no repositório Docker que está sendo usado.
- Na página Execuções, selecione e observe a execução do pipeline.
O pipeline começa a EXECUÇÃO e passa pelas tarefas de estágio de desenvolvimento. Se o pipeline não conseguir executar uma tarefa durante o estágio de desenvolvimento, o pipeline chamado RollingUpgrade-Example_Dev_Rollback será disparado para reverter a implantação e o status do pipeline será alterado para ROLLING_BACK.
Após a reversão, a página Execuções listará duas execuções do pipeline RollingUpgrade-Example.
- O pipeline que você criou é revertido e exibe ROLLBACK_COMPLETED.
- O pipeline de desenvolvimento de reversão que acionou e executou a reversão exibe COMPLETED.
Resultados
Parabéns! Você definiu com sucesso um pipeline com reversão e observou o
Code Stream reverter o pipeline no ponto de falha.