O que é uma hotfix branch?
Uma hotfix branch é uma branch curta a partir do código de produção, usada para corrigir um bug ativo urgente e enviá-lo rapidamente, fora do ciclo normal de release.
Uma hotfix branch existe para emergências. Quando um bug sério está ativo em produção e não pode esperar pela próxima release, você cria uma branch diretamente a partir do código de produção, faz a menor correção possível e a envia rápido. Depois, você garante que a correção volte a fluir para o desenvolvimento contínuo.
When you need a hotfix
Um hotfix é para problemas urgentes de produção: um crash, uma questão de segurança ou uma funcionalidade central quebrada. Em vez de esperar pelo pipeline normal de funcionalidades, você cria a branch a partir do código exato rodando em produção, para que a correção se aplique de forma limpa ao que os usuários têm agora.
Creating a hotfix branch
Você cria a branch a partir de main (a linha de produção), faz uma correção mínima e se prepara para lançá-la.
git switch -c hotfix/login-crash main
git commit -am "Guard against null session"
# fast-track review and releaseMerge it back everywhere
Após o envio, o hotfix precisa passar por merge de volta para a linha principal de desenvolvimento e para qualquer release branch ativa, para que o bug não reapareça na próxima versão. Um hotfix que não é propagado é uma regressão esperando para acontecer.
Hotfixes in CI/CD
Os hotfixes precisam de um caminho rápido e confiável até produção. O CI ainda roda, mas o pipeline é simplificado para focar nos testes críticos, de modo que a correção seja enviada em minutos, não em horas. É aqui que runners rápidos e confiáveis importam mais, porque o custo do atraso é uma indisponibilidade em produção.
Hotfix discipline
- Crie a branch a partir do código de produção, não da linha de desenvolvimento.
- Mantenha a mudança mínima e focada no incidente.
- Execute o CI mesmo sob pressão para evitar um segundo bug pior.
- Faça o merge da correção de volta para main e para qualquer release branch.
Principais conclusões
- Uma hotfix branch corrige um bug urgente de produção a partir do código ativo.
- A correção precisa passar por merge de volta para main e para as release branches ativas.
- O CI/CD fornece um caminho rápido e focado para que os hotfixes sejam enviados em minutos.