Skip to content
Latchkey

O Que É um Pipeline de CI/CD?

Um pipeline de CI/CD é a sequência automatizada de estágios pela qual uma mudança de código viaja, do commit à produção, com um portão em cada etapa.

Um pipeline é a linha de montagem da entrega de software. Cada estágio faz um trabalho, passa para o próximo e para a linha se algo falha. Visualizar seu processo de entrega como um pipeline o torna previsível e fácil de melhorar.

O que é um pipeline

Um pipeline de CI/CD é uma série definida de estágios automatizados, como build, teste e deploy, pelos quais uma mudança deve passar em ordem. Cada estágio ou tem sucesso e passa o trabalho adiante, ou falha e interrompe o progresso. O pipeline geralmente é disparado por um evento de código como um push ou pull request.

Estágios comuns

  • Source: um commit ou pull request dispara a execução.
  • Build: compilar o código e instalar as dependências.
  • Test: rodar testes unitários, de integração e outros testes automatizados.
  • Package: produzir um artifact versionado.
  • Deploy: promover o artifact para staging, depois produção.

Como os estágios se conectam

Os estágios rodam em sequência, mas trabalho independente dentro de um estágio pode rodar em paralelo, por exemplo testando em vários sistemas operacionais de uma vez. Uma falha em qualquer estágio faz um curto-circuito no resto, então você nunca faz deploy de um build que não passou nos testes. Artifacts produzidos cedo são reutilizados adiante em vez de reconstruídos.

Um pipeline de exemplo

A four-stage pipeline outline
stages:
  - build      # compile + install deps
  - test       # unit + integration tests
  - package    # produce artifact
  - deploy     # staging -> production

Por que pipelines importam

Um pipeline transforma um processo de release nebuloso e manual em algo explícito e repetível. Todos podem ver onde uma mudança está, o que passou e o que falhou. Como as etapas são definidas em código, o processo é versionado e revisável como qualquer outro código. Runners mais rápidos encurtam todo o pipeline, e é por isso que as equipes investem na velocidade dos runners.

Principais conclusões

  • Um pipeline é um conjunto ordenado de estágios automatizados do commit ao deploy.
  • Uma falha em qualquer estágio interrompe o resto, protegendo a produção.
  • Definir o pipeline em código torna o processo versionado e revisável.

Guias relacionados