MÓDULO 3 · ARQUITECTURA DE SISTEMAS CONVERSACIONALES · LECCIÓN 5.4 · 35 MIN

Pipelines de CI/CD

Nivel intermedio — configurar pipelines de integración y despliegue continuo que automaticen validación y deployment.

Idea central CI/CD automatiza lo que los humanos olvidan hacer: correr tests, validar código, desplegar consistentemente. Reduce el tiempo entre commit y producción de días a minutos, mientras aumenta la confiabilidad.

El problema

Situación típica: el equipo hace merge a main. Nadie corrió los tests porque "tomaban mucho tiempo". El deploy a producción falla por una dependencia faltante que nadie notó en local. Revertir toma una hora porque nadie documentó el proceso de rollback. // el código que "funcionaba en mi máquina" rompe producción un viernes a las 6pm

Anatomía de un pipeline

Un push dispara CI (Continuous Integration); un merge o tag dispara CD (Continuous Deployment):

Push→ Lint→ Test→ Build→ Deploy Staging→ E2E→ Deploy Prod

Regla del pipeline: si falla cualquier paso, el pipeline se detiene. No hay "saltarse" el lint porque hay prisa — esa es exactamente la disciplina que CI/CD existe para automatizar.

Las 7 etapas

EtapaTriggerQué haceSi falla
LintPushValida estilo de códigoBloquea merge
Unit TestPushTests rápidos de lógicaBloquea merge
Integration TestPushTests con base de datosBloquea merge
BuildPushConstruye artefactosBloquea merge
Deploy StagingMerge a mainDespliega a stagingAlerta al equipo
E2E TestPost-stagingValida en ambiente realBloquea prod
Deploy ProdTag/ManualDespliega a producciónRollback automático
El pipeline es tan bueno como sus tests

CI/CD automatiza la ejecución de la validación, no la validación en sí. Si la suite de tests tiene huecos (recuerda la Lección 5.3: la distribución en la pirámide importa más que el número), el pipeline verde solo te da una falsa sensación de seguridad más rápido. Automatizar un mal proceso lo hace fallar más rápido, no lo convierte en uno bueno.

Practica: GitHub Actions para el skeleton

Configura un workflow de GitHub Actions (.github/workflows/ci.yml) para el Walking Skeleton con las 7 etapas: lint y tests en cada push, build, deploy automático a staging al hacer merge a main, validación E2E post-staging, y deploy a producción disparado por un tag de versión.