Skip to content
Latchkey

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