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
- Maior Controle: Permite que as equipes tenham um controle mais rigoroso sobre o que é implementado.
- Identificação de Erros: Revisores humanos podem identificar erros que ferramentas automatizadas podem não perceber.
- 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:
- Defina um Processo Claro: Crie um fluxo de trabalho que especifique quem deve aprovar as mudanças e quais critérios devem ser atendidos.
- Utilize Ferramentas de CI/CD: Integre a aprovação manual em suas ferramentas de integração contínua e entrega contínua (CI/CD).
- 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:
- Desenvolvimento: O desenvolvedor faz alterações no código.
- Testes Automatizados: As alterações passam por uma suíte de testes automatizados.
- Aprovação Manual: Um revisor revisa o código e aprova ou rejeita as mudanças.
- 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