técnica
etapa: deliver
2 min de leitura
Pipelines de CI que continuam rápidos
Um pipeline em que as pessoas confiam é rápido, determinístico e claro quando falha. Um lento ou instável ensina a equipe a ignorá-lo.
GitHub ActionsGitLab CIBuildkiteBuildKit cacheRenovateact (run workflows locally)
Anatomia
- Trigger: um push, um pull request, uma tag ou um agendamento.
- Os jobs rodam em runners novos; cada job é isolado, então compartilhe dados por artefatos e caches, não pela máquina.
- Os stages ordenam o trabalho: lint e testes unitários primeiro (rápidos, baratos), depois testes de integração, depois build e publicação do artefato.
- Gates: as verificações obrigatórias devem passar antes do merge.
- Ambientes e aprovações protegem o deploy em alvos sensíveis.
Um exemplo de pipeline
Falhe rápido com verificações baratas, rode jobs independentes em paralelo, faça cache das dependências, cancele execuções superadas e mantenha as permissões mínimas.
name: ci
on:
pull_request:
push: { branches: [main] }
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: read
jobs:
lint-test:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@<full-commit-sha>
- uses: actions/setup-node@<full-commit-sha>
with: { node-version: 22, cache: npm }
- run: npm ci
- run: npm run lint && npm test
build:
needs: lint-test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@<full-commit-sha>
- run: docker build -t app:${{ github.sha }} .Mantendo-o rápido e confiável
- Faça cache das dependências e das camadas de build, usando o lockfile como chave.
- Rode os testes em paralelo e divida as suítes lentas; ponha testes instáveis em quarentena e corrija-os, nunca repita às cegas.
- Defina timeouts para que um job travado não prenda a fila.
- Torne os builds reproduzíveis: ferramentas fixadas, lockfiles, sem surpresas de rede.
- Trate o pipeline como código de produção: revise-o, teste as mudanças e dê a ele o menor privilégio (veja o domínio Security engineering).
Lendo uma falha
Um job que falha deve dizer o que quebrou na primeira tela. Mostre o teste que falhou e o comando que o reproduz localmente. Se as pessoas precisam perguntar "por que o CI está vermelho?", falta informação no pipeline.
conexões no mapa
- Fluxos de Git e code reviewdisparaPipelines de CI que continuam rápidos
- O ciclo de vida da entregaé automatizado porPipelines de CI que continuam rápidos
- Pipelines de CI que continuam rápidosentrega artefatos paraEstratégias de release e rollback
atualizado em 14/10/2026 · fontes para aprofundar · reportar erro
em outros domínios
- Hardening de CI/CDsecenga esteira que funciona precisa ser também a esteira confiável
- CI/CDappseconde cada verificação de segurança se encaixa na esteira
Estude antes
Desbloqueia
teste o que entendeu
Carregando perguntas…