Menu
Técnicas

Compilações preflight

May 2020
Avalie?

Embora defendamos fortemente a integração contínua em vez de Gitflow, sabemos que executar commits diretamente no trunk e integração contínua em uma master branch pode ser ineficaz se o time for muito grande, se as construções forem lentas ou instáveis ou se o time não tiver disciplina para executar o conjunto de testes completo localmente. Nessa situação, uma construção vermelha pode bloquear várias pessoas desenvolvedoras ou pares. Em vez de corrigir a causa raiz subjacente — construções lentas, a incapacidade de executar testes localmente ou arquiteturas monolíticas que exigem muitas pessoas trabalhando na mesma área — os times geralmente confiam em feature branches para contornar esses problemas. Nós desencorajamos os feature branches, pois eles podem exigir um esforço significativo para resolver conflitos de merge e introduzem ciclos de feedback mais longos e possíveis erros durante a resolução de conflitos. Em vez disso, propomos usar compilações preflight como alternativa: são compilações baseadas em pull request para "microbranches" que permanecem apenas pelo período de execução do pipeline, com o branch aberto para cada commit. Para ajudar a automatizar esse fluxo de trabalho, encontramos bots como Bors, que automatiza o merge para controlar e excluir branches caso a construção da minibranch tenha êxito. Estamos avaliando esse fluxo, e você também deve; mas não use isso para resolver o problema errado, pois pode levar ao uso indevido de branches e causar mais danos do que benefícios.