A Importância da Aprovação Manual antes de um Deploy em Produção

Aprovação manual é um passo crítico em processos de deploy, garantindo maior segurança e confiabilidade.

A Importância da Aprovação Manual em Deploys

Implementar uma aprovação manual antes de um deploy em produção é uma prática recomendada que pode aumentar a confiabilidade e a segurança do seu sistema. Neste tutorial, vamos explorar quando e como utilizar essa estratégia, além de discutir suas vantagens e desvantagens.

O Que é Aprovação Manual?

A aprovação manual é um processo em que um ser humano deve revisar e aprovar um conjunto de mudanças antes que elas sejam implementadas em um ambiente de produção. Isso pode incluir a revisão de código, testes e validações finais.

Quando Usar Aprovação Manual?

A decisão de usar aprovação manual deve ser baseada em vários fatores, incluindo:

  • Complexidade do Sistema: Sistemas mais complexos podem se beneficiar de uma revisão adicional.
  • Histórico de Problemas: Se houve falhas anteriores após deploys automáticos, a aprovação manual pode ser uma salvaguarda.
  • Mudanças Críticas: Para alterações que impactam significativamente a operação ou a segurança do sistema, a aprovação manual é altamente recomendada.

Vantagens da Aprovação Manual

  1. Maior Controle: Permite que as equipes tenham um controle mais rigoroso sobre o que é implementado.
  2. Identificação de Erros: Revisores humanos podem identificar erros que ferramentas automatizadas podem não perceber.
  3. Documentação: A aprovação manual pode servir como um registro de que as mudanças foram revisadas e aprovadas.

Desvantagens da Aprovação Manual

  • Atrasos: Pode introduzir atrasos no processo de deploy.
  • Dependência de Recursos Humanos: Se o revisor não estiver disponível, o deploy pode ser adiado.
  • Possibilidade de Erros Humanos: Revisores podem cometer erros ao aprovar mudanças.

Como Implementar Aprovação Manual?

Para implementar a aprovação manual de forma eficaz, considere os seguintes passos:

  1. Defina um Processo Claro: Crie um fluxo de trabalho que especifique quem deve aprovar as mudanças e quais critérios devem ser atendidos.
  2. Utilize Ferramentas de CI/CD: Integre a aprovação manual em suas ferramentas de integração contínua e entrega contínua (CI/CD).
  3. Documente o Processo: Certifique-se de que todos os membros da equipe entendam o processo e suas responsabilidades.

Exemplo de Fluxo de Trabalho de Aprovação Manual

Abaixo, apresentamos um exemplo de um fluxo de trabalho simples que inclui uma etapa de aprovação manual:

  1. Desenvolvimento: O desenvolvedor faz alterações no código.
  2. Testes Automatizados: As alterações passam por uma suíte de testes automatizados.
  3. Aprovação Manual: Um revisor revisa o código e aprova ou rejeita as mudanças.
  4. Deploy em Produção: Após a aprovação, as alterações são implementadas em produção.

Código de Exemplo para Integração de Aprovação Manual

stages:
  - test
  - approval
  - deploy

test_job:
  stage: test
  script:
    - echo "Executando testes..."

approval_job:
  stage: approval
  script:
    - echo "Aguardando aprovação manual..."
  when: manual

deploy_job:
  stage: deploy
  script:
    - echo "Realizando deploy em produção..."

Neste exemplo, temos três estágios: teste, aprovação e deploy. O estágio de aprovação é marcado como manual, o que significa que ele requer a intervenção de um revisor antes que o deploy possa ser realizado. Esta abordagem garante que as mudanças sejam revisadas antes de serem implementadas no ambiente de produção.

Conclusão

A aprovação manual antes de um deploy em produção é uma prática que pode ajudar a mitigar riscos e aumentar a confiabilidade do seu sistema. Ao implementar este processo, as equipes podem garantir que as mudanças sejam revisadas de forma crítica, minimizando a probabilidade de falhas em produção. Considere cuidadosamente quando e como implementar a aprovação manual, sempre buscando um equilíbrio entre agilidade e segurança.

Contribuições de Camila Ribeiro

Compartilhe este tutorial: Quando usar aprovação manual antes de um deploy em produção?

Compartilhe este tutorial

Continue aprendendo:

Como lidar com janelas de manutenção em sistemas 24/7?

Guia prático sobre como gerenciar janelas de manutenção em sistemas que operam 24/7.

Tutorial anterior

Como garantir que o deploy não cause downtime?

Aprenda como implementar deploys que não causem interrupções nos serviços.

Próximo tutorial