Skip to content
Latchkey

O Que É um Template de Pipeline? Reutilizando Definições de Pipeline

Um template de pipeline é uma definição de pipeline reutilizável e parametrizada que vários projetos ou jobs podem chamar em vez de duplicar a mesma config.

Quando cada repositório copia as mesmas cem linhas de YAML de CI, uma única mudança significa editar dezenas de arquivos. Um template de pipeline resolve isso definindo a lógica compartilhada uma vez e deixando cada projeto chamá-la com parâmetros. É o princípio DRY aplicado aos seus pipelines: escreva os steps uma vez, varie as entradas.

Por que templates existem

Templates centralizam a lógica de pipeline compartilhada. Um time de plataforma pode manter um único template de "fazer build e test de um app Node"; todo repo Node o chama. Correções e mudanças de política chegam em um só lugar e se propagam para tudo que usa o template.

Como templates recebem entrada

Um template expõe parâmetros (versão do node, comando de test, alvo de deploy). Os chamadores passam valores, e o template os preenche. É isso que faz um template servir a muitos projetos sem forkeá-lo.

Um exemplo rápido

O GitHub Actions chama isso de reusable workflow: um chamador referencia uses: my-org/.github/.github/workflows/ci.yml@main e passa entradas com with:. O GitLab usa include: para puxar arquivos de template. Ambos transformam config compartilhada em uma única fonte.

Templates vs copy-paste

  • Copy-paste: rápido no início, diverge com o tempo.
  • Template: uma definição, consistente em todo lugar, mais fácil de governar.
  • Templates também tornam auditorias mais simples: você revisa um arquivo, não muitos.

Versionando templates

Fixe os chamadores a uma tag ou commit do template para que uma mudança upstream não possa quebrar todos os pipelines de uma vez. Avance a versão de forma deliberada. Isso equilibra o benefício de um template compartilhado contra o risco de uma atualização surpresa.

Principais conclusões

  • Um template de pipeline é uma definição reutilizável e parametrizada que projetos chamam.
  • Ele remove config de CI copiada e colada, então uma mudança atualiza tudo.
  • Fixe a versão nos chamadores do template para que mudanças upstream cheguem de forma deliberada.

Guias relacionados