Melhores Práticas de CI/CD
Um resumo condensado das 25 práticas mais importantes de CI/CD para equipes Node.js - extraído de todas as páginas desta seção.
Busque em todas as páginas da documentação
Um resumo condensado das 25 práticas mais importantes de CI/CD para equipes Node.js - extraído de todas as páginas desta seção.
Separe CI de PR de CD de release: Valide no PR; implante na mesclagem/tag - Noções Básicas de CI/CD.
Implante o mesmo artefato testado em CI: Mesmo digest de imagem ou SHA do zip Lambda do job de teste para produção.
Tags imutáveis: ghcr.io/acme/api:${{ github.sha }}, não apenas :latest.
Sempre npm ci em CI: Lockfile commitado; sem npm install.
Node 24 em CI: Corresponda ao runtime de produção; use matrix 22 se ainda estiver suportando - GitHub Actions para Node.
Cache npm via setup-node: Chaves de cache baseadas em hash do lockfile.
Ordem de portão de falha rápida: lint, verificação de tipo, depois teste - Portões de Qualidade.
--max-warnings 0 no ESLint: Avisos são falhas em CI.
tsc --noEmit explícito: Mesmo quando a compilação emite JS.
Limites de cobertura ou cobertura de diferença: Evite caminhos críticos não testados.
npm audit --audit-level=high: Emparelhe com Renovate para correções.
Escaneie contêineres com Trivy/Grype: Falhe em CVEs críticos antes do push.
Cancelamento de concorrência em andamento: Economize minutos em branches de PR ativos.
OIDC para AWS/GCP/Azure: Sem chaves estáticas de nuvem nos segredos do GitHub.
Regras de proteção de ambiente: Revisores necessários para o job de implantação de produção.
Teste de fumaça após a implantação em staging: curl /health e um fluxo de negócios.
Automação de versionamento semântico opcional: Semantic Release quando Commits Convencionais são impostos.
Commits Convencionais ou política de título de squash: Changelog e semver previsíveis.
Ambientes de preview com limpeza: Exclua namespace/stack ao fechar PR - Ambientes de Preview.
Filtros de caminho para jobs caros: Compilação Docker quando Dockerfile ou src/ mudam.
Testes de integração com contêineres de serviço: Postgres/Redis no workflow, não apenas mockados.
Artefatos entre jobs: Faça upload de dist/ ou function.zip para consumo do job de implantação.
Sem implantação de laptops: Documentado como último recurso e raro.
Documente o runbook de rollback: Reimplantação do digest de imagem anterior - Iniciadores de Runbook de Plantão.
Métricas DORA rastreadas: Frequência de implantação e taxa de falha de alteração - Métricas DORA para Equipes Node.
Promova o artefato exato (digest de imagem ou zip) que passou nos portões de CI. Nunca reconstrua de forma diferente para produção.
Arquivos separados (ci.yml, release.yml) melhoram a clareza e os limites de permissão.
Menos de 10 minutos para portões de unidade. Divida E2E lentos para a noite, se necessário.
Valiosos para revisão full-stack; opcionais para APIs internas com testes de integração fortes.
Pipeline de release contra staging primeiro, depois prod, como um job com portão antes da mudança de tráfego - não ad hoc localmente.
Versões da Stack: Esta página foi escrita para Node.js 24.18.0 (Active LTS), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 e NestJS 11.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026