As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Descobrir os benefícios de uma abordagem baseada no trunk
Uma das coisas que geralmente torna necessário um hotfix é que, em um fluxo de trabalho legado, o estado da aplicação em que os desenvolvedores estão trabalhando pode conter vários recursos não lançados que ainda não estão em produção. O ambiente de produção e o de desenvolvimento só ficam sincronizados quando ocorre um lançamento programado e, em seguida, eles imediatamente começam a divergir novamente até o próximo lançamento programado.
É possível programar lançamentos em um CI/CD processo completo. Você pode atrasar a liberação do código para a produção usando sinalizadores de recursos. No entanto, um CI/CD processo completo permite mais flexibilidade, tornando desnecessários os lançamentos programados. Afinal, contínuo é uma palavra-chave CI/CD, e isso sugere que as mudanças são liberadas à medida que ficam prontas. Evite manter um ambiente de lançamento separado que esteja quase sempre fora de sincronia com os ambientes de teste inferiores.
Se uma tubulação não estiver totalmente CI/CD, a divergência entre os ambientes superior e inferior geralmente ocorre no nível do ramal. Os desenvolvedores trabalham em uma ramificação de desenvolvimento e mantêm uma ramificação de lançamento separada, que é atualizada somente quando chega a hora de um lançamento programado. À medida que a ramificação de lançamento e a de desenvolvimento divergem, outras complicações podem surgir.
Além de os ambientes estarem fora de sincronia, à medida que os desenvolvedores trabalham na ramificação de desenvolvimento e se acostumam com um estado da aplicação muito à frente do que está em produção, eles precisam se reajustar ao estado de produção sempre que surge um problema. O estado da ramificação de desenvolvimento pode ter muitos recursos a mais do que o da produção. Quando os desenvolvedores trabalham nessa ramificação todos os dias, é difícil lembrar o que foi ou não liberado para produção. Isso aumenta o risco de que novos bugs sejam introduzidos durante o processo de correção de outros bugs. Esse resultado é um ciclo aparentemente interminável de correções que estendem os prazos e atrasam o lançamento de recursos por semanas, meses ou até anos.