Pular para o conteúdo
LatchkeyLatchkey home

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.

Applying this to your pipeline

  • Measure before changing. Most CI optimisation targets the wrong step because the slow one is assumed rather than timed.
  • Cache what is expensive to produce and cheap to validate, and key the cache to the exact tool version.
  • Fail fast: run the cheapest checks that can reject a change first, so an expensive job never starts on code that cannot pass.
  • Prefer determinism over speed when they conflict. A fast pipeline nobody trusts gets re-run, which is slower than a slow one that is believed.

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.

Perguntas frequentes

What is What is a CI/CD Pipeline??
A pipeline is the assembly line of software delivery. Each stage does one job, hands off to the next, and stops the line if something fails. Visualizing your delivery process as a pipeline makes it predictable and easy to improve.
What a pipeline is?
A CI/CD pipeline is a defined series of automated stages, such as build, test, and deploy, that a change must pass through in order. Each stage either succeeds and passes the work forward, or fails and halts progress. The pipeline is usually triggered by a code event like a push or pull request.
How the stages connect?
Stages run in sequence, but independent work within a stage can run in parallel, for example testing on several operating systems at once. A failure in any stage short-circuits the rest, so you never deploy a build that did not pass its tests. Artifacts produced early are reused downstream rather than rebuilt.
Why pipelines matter?
A pipeline turns a fuzzy, manual release process into something explicit and repeatable. Everyone can see where a change is, what passed, and what failed. Because the steps are defined in code, the process is versioned and reviewable like any other code. Faster runners shorten the whole pipeline, which is why teams invest in runner speed.

Guias relacionados