Skip to content
Latchkey

O Que É um Arquivo Pipeline-as-Code? Seu Pipeline no Repo

Um arquivo pipeline-as-code é a configuração versionada que define seu pipeline, armazenada no repositório ao lado do código que ele constrói.

Há muito tempo, pipelines eram configurados clicando pela UI web de um servidor de CI. Esse estado vivia em lugar nenhum que você pudesse revisar ou reverter. O pipeline-as-code mudou isso: a definição do pipeline é um arquivo no seu repositório. Ele é revisado em pull requests, versionado com o código e reproduzível. O pipeline viaja com o projeto.

Por que colocar o pipeline no repo

  • Revisado: mudanças passam por pull requests.
  • Versionado: o histórico mostra quem mudou o quê e quando.
  • Reproduzível: o mesmo commit constrói da mesma forma.
  • Ramificável: um branch pode mudar seu próprio pipeline.

Onde o arquivo vive

Diferentes plataformas esperam o arquivo em lugares específicos: o GitHub Actions usa .github/workflows/*.yml, o GitLab usa .gitlab-ci.yml, e outros têm os seus. O local é uma convenção que a plataforma escaneia.

Um exemplo rápido

Um arquivo do GitHub Actions em .github/workflows/ci.yml declara triggers, jobs e steps em YAML. Edite-o em um branch e os pushes desse branch executam o novo pipeline, enquanto outros branches mantêm o antigo até fazerem merge.

Config por UI vs pipeline-as-code

Clicar a config em uma UI de servidor é rápido, mas invisível à revisão e fácil de perder. O pipeline-as-code troca um pouco de estrutura inicial por auditabilidade, histórico e a capacidade de recriar o pipeline apenas a partir do repo.

Mantendo o arquivo sustentável

À medida que os pipelines crescem, o arquivo cresce. Templates e reusable workflows evitam que ele se espalhe, deixando você fatorar lógica compartilhada para fora do arquivo por projeto mantendo o ponto de entrada no repo.

Principais conclusões

  • Um arquivo pipeline-as-code define o pipeline como config versionada.
  • Ele é revisado, versionado e reproduzível ao lado do source.
  • Cada plataforma espera o arquivo em um local convencional que ela escaneia.

Guias relacionados