Menu
Técnicas

Compilações preflight

NOT ON THE CURRENT EDITION
This blip is not on the current edition of the radar. If it was on one of the last few editions it is likely that it is still relevant. If the blip is older it might no longer be relevant and our assessment might be different today. Unfortunately, we simply don't have the bandwidth to continuously review blips from previous editions of the radarUnderstand more
Published: May 19, 2020
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.