Pipeline de CI/CD
Un pipeline de CI/CD es la secuencia automatizada que compila, prueba y despliega cada cambio de código en su camino desde el commit hasta producción.
CI significa integración continua. Los desarrolladores integran cambios pequeños en una rama compartida con frecuencia, y cada integración se compila y se prueba de forma automática. CD significa entrega continua o despliegue continuo. Los dos términos describen lo que pasa después de que las pruebas pasan, y difieren en un punto que se explica más abajo.
Un pipeline típico de frontend tiene estas etapas:
- Instalar dependencias y correr lint.
- Correr las pruebas unitarias.
- Compilar el bundle de producción.
- Correr pruebas end-to-end contra el build.
- Publicar el artefacto versionado.
- Desplegar en un ambiente y correr pruebas de humo.
Ejemplo
Una desarrolladora abre un pull request que cambia el remoto de pedidos. El pipeline corre lint, pruebas y un build solo para ese proyecto, y publica una URL de vista previa. Después del merge, el mismo pipeline publica el build en una carpeta versionada y actualiza el manifiesto de staging. La promoción a producción es una sola aprobación que actualiza el manifiesto de producción.
Confusión frecuente
Tener una herramienta de pipelines no significa que el equipo practique integración continua. Si las ramas viven semanas y se integran en lotes grandes, la integración sigue siendo tardía y dolorosa, haga lo que haga la herramienta.
La segunda confusión es entre entrega y despliegue. Con entrega continua, cada commit que pasa el pipeline queda listo para publicarse, y una persona todavía puede decidir cuándo publicarlo. Con despliegue continuo, cada commit que pasa se publica de forma automática.
En una plataforma de microfrontends, cada remoto necesita su propio pipeline. La plataforma también necesita verificaciones comunes que corran en todos, como las versiones de dependencias compartidas y las pruebas de contrato. La página de microfrontends cubre esa configuración.
Por qué importa. Una migración incremental implica muchos releases pequeños, y eso solo es práctico con un pipeline automatizado. En una plataforma de microfrontends, los pipelines independientes son lo que hace real el despliegue independiente.
Términos relacionados
¿Planeas una migración o una plataforma de microfrontends?
En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.
Escríbeme por LinkedIn