Mejores prácticas de CI/CD
Un resumen condensado de las 25 prácticas de CI/CD más importantes para equipos de Node.js, extraídas de cada página de esta sección.
Busca en todas las páginas de la documentación
Un resumen condensado de las 25 prácticas de CI/CD más importantes para equipos de Node.js, extraídas de cada página de esta sección.
Separa el CI de PR del CD de lanzamiento: Valida en PR; despliega en merge/tag - Conceptos básicos de CI/CD.
Despliega el mismo artefacto probado en CI: El mismo digest de Docker o SHA de zip de Lambda desde el trabajo de prueba hasta producción.
Etiquetas inmutables: ghcr.io/acme/api:${{ github.sha }}, no solo :latest.
npm ci en CI siempre: Lockfile comprometido; sin npm install.
Node 24 en CI: Coincide con el tiempo de ejecución de producción; matriz 22 si aún se admite - Acciones de GitHub para Node.
Caché npm a través de setup-node: Claves de caché de hash de lockfile.
Orden de puerta de fallo rápido: lint, typecheck, luego test - Puertas de calidad.
--max-warnings 0 en ESLint: Las advertencias son fallos en CI.
tsc --noEmit explícito: Incluso cuando la compilación emite JS.
Umbrales de cobertura o cobertura diferencial: Evita rutas críticas no probadas.
npm audit --audit-level=high: Combínalo con Renovate para las correcciones.
Escanea contenedores con Trivy/Grype: Falla en CVEs críticos antes de enviar.
Cancelación de concurrencia en curso: Ahorra minutos en ramas de PR activas.
OIDC a AWS/GCP/Azure: Sin claves estáticas de la nube en los secretos de GitHub.
Reglas de protección del entorno: Revisores requeridos para el trabajo de despliegue en producción.
Prueba de humo después del despliegue en staging: curl /health y un flujo de negocio.
Automatización de versionado semántico opcional: Semantic Release cuando se aplican Conventional Commits.
Conventional Commits o política de título de squash: Changelog y semver predecibles.
Entornos de vista previa con limpieza: Elimina el espacio de nombres/stack al cerrar el PR - Entornos de vista previa.
Filtros de ruta para trabajos costosos: Compilación de Docker cuando cambian Dockerfile o src/.
Pruebas de integración con contenedores de servicio: Postgres/Redis en el flujo de trabajo, no solo simulados.
Artefactos entre trabajos: Sube dist/ o function.zip para el consumo del trabajo de despliegue.
No desplegar desde laptops: Break-glass documentado y raro.
Documenta el manual de reversión: Re-despliegue del digest de imagen anterior - Iniciadores de manual de guardia.
Métricas DORA rastreadas: Frecuencia de despliegue y tasa de fallos de cambio - Métricas DORA para equipos de Node.
Promueve el artefacto exacto (digest de imagen o zip) que pasó las puertas de CI. Nunca reconstruyas de manera diferente para producción.
Los archivos separados (ci.yml, release.yml) mejoran la claridad y los límites de permisos.
Menos de 10 minutos para las puertas de unidad. Divide las pruebas E2E lentas a la noche si es necesario.
Valioso para la revisión de pila completa; opcional para APIs internas con fuertes pruebas de integración.
Pipeline de lanzamiento contra staging primero, luego producción, como un trabajo con puerta antes del cambio de tráfico, no ad hoc localmente.
Versiones de la pila: Esta página fue escrita para Node.js 24.18.0 (LTS activa), npm 10+, TypeScript 5.6+, Express 5, Fastify 5 y NestJS 11.
Revisado por Chris St. John·Última actualización: 16 jul 2026