Entrega continua
La entrega continua (Continuous Delivery o CD en inglés) es la práctica que mantiene el código siempre en un estado que puede desplegarse a producción de forma segura, rápida y repetible a través de un pipeline automatizado de build, pruebas y despliegue. A diferencia del despliegue continuo, el despliegue final a producción es una decisión humana, no automática.
Fue sistematizada por Jez Humble y David Farley en Continuous Delivery (2010), la referencia fundacional del campo.
CI, Continuous Delivery y Continuous Deployment
Los tres términos comparten las siglas CD y se confunden habitualmente:
| Práctica | Qué automatiza | El despliegue a producción es... |
|---|---|---|
| Integración continua (CI) | Build y tests en cada integración | Manual o por solicitud |
| Entrega continua (Continuous Delivery) | CI + despliegue a staging + validación | Una decisión humana que puede tomarse en cualquier momento |
| Despliegue continuo (Continuous Deployment) | Todo el pipeline incluyendo producción | Automático tras cada integración exitosa |
La distinción clave de la entrega continua: el equipo puede desplegar en cualquier momento porque el sistema garantiza que el código es seguro, pero elige cuándo hacerlo según criterios de negocio.
El pipeline de entrega continua
- CI: integración, compilación y pruebas unitarias automáticas.
- Pruebas de aceptación automatizadas: validan el comportamiento desde la perspectiva del usuario.
- Despliegue automático a staging: entorno idéntico a producción.
- Validación en staging: pruebas de humo y verificación funcional.
- Aprobación manual (gate): un humano decide si desplegar a producción.
- Despliegue a producción: automático e inmediato una vez aprobado.
Por qué importa en equipos ágiles
El sprint produce un incremento. Sin entrega continua, ese incremento puede estar "hecho" desde la perspectiva del equipo pero no llegar a producción durante días o semanas, retrasando el feedback real y el valor entregado. La entrega continua elimina el "last mile problem" de la agilidad.
Error frecuente
Confundir entrega continua con despliegue continuo. Son prácticas con niveles de automatización y riesgo distintos. La entrega continua mantiene el control humano sobre el momento del despliegue; el despliegue continuo lo elimina. Muchos contextos —regulados, con ciclos contractuales de release, o con usuarios que necesitan formación antes de un cambio— necesitan entrega continua, no despliegue continuo.
Referencias
- Humble, Jez; Farley, David. (2010). Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Addison-Wesley.
Véase también
¿Quieres avanzar en agilidad? Puedes buscar convocatorias de cursos y exámenes o ir a tu ritmo haciéndote miembro del Club Agile. Esta membresía incluye recursos exclusivos, aulas e-learning y acceso a Skill Arena: un espacio para practicar y medir tus habilidades ágiles a tu ritmo.