Deploy na sexta-feira: quando evitar e quando vale
TL;DR - O medo de deploy na sexta faz sentido sem observabilidade e rollback. Com os dois, o que define é o tamanho da mudança e evitar migration de banco.
Sexta à tarde, pipeline verde, deploy no ar. Em toda equipe que passei, alguém sempre soltava: “hoje não, segunda”. Eu entendo. Também já vi fim de semana virado em caça a bug. A diferença entre “deploy na sexta é roleta russa” e “deploy na sexta é risco calculado” está em duas coisas: observabilidade e rollback.
Sem isso, a regra “nunca na sexta” faz sentido. Você pode passar o fim de semana no escuro, sem saber onde quebrou nem como voltar. Com métricas e logs em que eu confio, e um rollback claro e testado, sexta vira só mais um dia para decidir com critério.
Quando eu faço deploy na sexta
- Observabilidade em dia: sei na hora se algo quebrou, onde e por quê.
- Rollback documentado e já usado em produção.
- Mudança pequena ou de impacto controlado.
- Nada de migration de banco nesse deploy.
Quando eu deixo para segunda
- Mudança grande ou primeira vez de uma feature em produção.
- Qualquer deploy que inclua migration de banco. Migration que dá errado no sábado é outro nível de dor.
- Dúvida sobre o tamanho do impacto: na dúvida, adio.
O diagrama abaixo resume a lógica que eu uso:
flowchart TB
Deploy[Deploy na sexta?] --> Obs{Observabilidade e rollback ok?}
Obs --> Nao[Não] --> Evitar[Evitar]
Obs --> Sim[Sim] --> Migracao{Tem DB migration?}
Migracao --> Sim2[Sim] --> Evitar
Migracao --> Nao2[Não] --> Impacto{Tamanho / impacto controlado?}
Impacto --> Sim3[Sim] --> Vale[Vale]
Impacto --> Nao3[Não] --> Evitar