| CI | CD · Delivery | CD · Deployment | |
|---|---|---|---|
| Pregunta que responde | ¿Se integra sin romper nada? | ¿Está listo para salir? | — sale |
| Automatiza | Build, test, lint | + despliegue a staging | + despliegue a producción |
| Intervención humana | Ninguna | Sí: aprobar el paso a producción | Ninguna |
| Qué exige | Que existan tests | Un staging que se parezca a producción | Tests sólidos y monitorización |
La confusión habitual es tratar Deployment como la versión avanzada de Delivery, y no lo es necesariamente. Una empresa regulada puede tener un pipeline impecable y elegir Delivery para siempre, porque el gate manual es un requisito legal, no una carencia. El eje no es «cuánto sabemos», es «quién responde si esto sale mal».
Las cinco están en todos los pipelines del mundo. Lo que separa un pipeline de juguete de uno serio no es cuántas etapas tiene, sino qué pasa cuando la tercera falla: si el merge sigue siendo posible con los tests en rojo, el pipeline no protege nada — informa.
// automatizar la señal y no hacerla vinculante es la mitad del trabajo, y es la mitad barata| Situación | Por qué |
|---|---|
| No hay tests automatizados | CI sin tests solo verifica que compila |
| Proyecto de una persona sin usuarios | El coste de configuración supera el beneficio |
| Librería interna sin versionar | CD no aplica: no hay nada que desplegar |
| Primeras dos semanas de un proyecto | La arquitectura todavía se mueve demasiado |
La primera fila es la importante y la que más se ignora. Un check verde no dice que el código funcione: dice que el proceso terminó sin errores. Si la suite tiene tres tests triviales, ese verde certifica exactamente tres cosas — y da una sensación de seguridad proporcional al color, no a la cobertura.
| Métrica | Qué mide | Eje |
|---|---|---|
| Deployment Frequency | Cada cuánto llega algo a producción | Velocidad |
| Lead Time for Changes | Cuánto tarda un commit en llegar a producción | Velocidad |
| Change Failure Rate | Qué porcentaje de despliegues causa un problema | Estabilidad |
| Time to Restore Service | Cuánto se tarda en arreglarlo | Estabilidad |
Van en dos pares por diseño, y ahí está su gracia: impiden hacer trampa. Se puede desplegar veinte veces al día si da igual romper cosas, y se puede no romper nada nunca con no desplegar. Cualquiera de las cuatro sola se puede optimizar sacrificando otra; las cuatro juntas, no.
Coge un repositorio real y responde tres preguntas en este orden: ¿tiene CI? ¿ese CI corre tests de verdad, o solo comprueba que las dependencias instalan? ¿un PR con los tests en rojo se puede mergear igualmente?
La tercera es la que decide en qué escalón estás. Las dos primeras dan falso positivo con mucha facilidad — y si la respuesta a la tercera es «sí, se puede mergear», ya sabes cuál es el siguiente commit que tienes que hacer, y no es de código.