O Que É Orquestração de Build? Coordenando Jobs e Pipelines
A orquestração de build é a coordenação de jobs, suas dependências e pipelines inteiros para que o trabalho rode na ordem certa nas máquinas certas.
Um pipeline com dezenas de jobs, dependências, branches paralelas e triggers downstream não roda sozinho. A orquestração de build é a camada que coordena tudo: decidindo o que roda agora, o que espera, para onde vai cada job e como os resultados fluem entre eles. É a diferença entre uma pilha de jobs e um pipeline funcional.
O que um orquestrador coordena
- Ordem: quais jobs rodam antes de quais, via dependências.
- Alocação: qual agente roda cada job.
- Paralelismo: o que pode rodar ao mesmo tempo.
- Fluxo de dados: passar outputs e artifacts entre jobs.
Agendando o grafo
O orquestrador lê o grafo de dependências (o DAG) e agenda cada job assim que seus pré-requisitos terminam e um agente fica livre. Ele maximiza o paralelismo seguro respeitando cada restrição de ordem.
Um exemplo rápido
Dado build -> (lint, test) -> deploy, o orquestrador roda build, depois lança lint e test em paralelo, depois deploy assim que test conclui, atribuindo cada job a um agente disponível conforme ele se torna elegível.
Orquestração entre pipelines
A orquestração não é apenas dentro de um pipeline. Disparar pipelines downstream, coordenar estruturas pai-filho e encadear builds entre projetos são todos orquestração em escala maior.
Orquestração e capacidade
Um orquestrador só pode rodar em paralelo tanto quanto houver agentes. Quando os agentes são escassos, jobs elegíveis ficam na fila e a orquestração emperra. Runners gerenciados (Latchkey) fornecem capacidade sob demanda para que o plano paralelo do orquestrador de fato rode em paralelo.
Principais conclusões
- A orquestração de build coordena ordem, alocação, paralelismo e fluxo de dados dos jobs.
- Ela agenda o grafo de dependências para maximizar o paralelismo seguro.
- Também abrange pipelines, encadeando runs downstream e pai-filho.