Skip to content
Latchkey

O Que É um Merge Train?

Um merge train é um mecanismo que alinha merge requests pendentes e executa CI para cada um contra a branch de destino como ela ficaria com todas as entradas anteriores já mescladas. Apenas as mudanças que passam nesse estado combinado fazem merge. Isso evita a situação em que duas mudanças individualmente verdes quebram a branch quando combinadas.

Por que importa

Duas mudanças podem passar cada uma por conta própria e ainda assim conflitar logicamente quando ambas são mescladas, quebrando a branch principal. Um merge train as testa na ordem real de merge, de modo que essa quebra é detectada antes de aterrissar. O custo são execuções extras de pipeline, o que torna importantes runners rápidos e disponíveis para manter o train em movimento.

Guias relacionados