O Que É Build Sharding?
O build sharding divide um grande volume de trabalho, normalmente uma suíte de testes ou um build, em múltiplos shards disjuntos que executam simultaneamente em runners diferentes. Cada shard cuida de uma fatia dos targets, e os resultados são mesclados ao final. É a maneira mais simples de aplicar paralelismo a uma suíte lenta.
Por que isso importa
Um único runner executando uma longa suíte de testes de forma serial estabelece um piso rígido para o tempo do pipeline; dividir em N runners pode reduzir isso na direção de 1/N. O truque é equilibrar os shards para que o mais lento não domine, e gerenciar N vezes a concorrência de runners. Em runners gerenciados, isso é uma alavanca direta de custo versus velocidade.
Preocupações práticas
- Equilibre os shards pelo tempo histórico, não apenas pela contagem
- Mescle a cobertura e os resultados entre os shards
- Mais shards significa mais minutos concorrentes de runner
Guias relacionados
What Is Predictive Test Selection?Predictive test selection uses a model of past results to run only the tests most likely affected by a change…
What Is a Distributed Build?A distributed build splits compilation and test work across many machines in parallel, cutting wall-clock bui…
What Is a Build Farm?A build farm is a managed pool of machines dedicated to running builds, providing the shared compute that dis…