O Que É um DAG em CI/CD?
Um DAG (directed acyclic graph, grafo acíclico direcionado) é um grafo cujas arestas têm direção e que não contém ciclos, ou seja, você nunca consegue seguir as arestas de volta ao ponto de partida. Em CI/CD, os jobs são nós e as relações de dependência são arestas, então o DAG define o que pode rodar em paralelo e o que precisa esperar. A ausência de ciclos garante uma ordem de execução válida e finita.
Por que isso importa
Modelar um pipeline como um DAG permite que o scheduler maximize o paralelismo, rodando jobs independentes ao mesmo tempo enquanto respeita as dependências, e detecte configurações impossíveis (um ciclo) logo de início. A mesma estrutura sustenta build systems e workflow engines que precisam ordenar o trabalho corretamente.
Conceitos relacionados
- Nós são jobs; arestas são dependências
- Sem ciclos, existe uma ordenação topológica válida
- O critical path é a rota mais longa através dele
Guias relacionados
What Is the Critical Path in a Pipeline?The critical path is the longest dependent chain of jobs through a pipeline, which sets the minimum possible…
What Is a Fan-In Barrier?A fan-in barrier is a synchronization point where a job waits for all of its parallel upstream jobs to finish…
What Is a Dependency Graph?A dependency graph maps how components or packages depend on one another, used to order builds, detect cycles…