Saltar a contenido

Entrega Continua - Despliegue continuo

i

Continuous Delivery

La entrega continua CI/CD (continuous delivery) está relacionada con la integración continua y consiste en la automatización del proceso de entrega del software, permitiendo que pueda ser implementado en producción de forma confiable y sencilla. De forma práctica se puede entender la CD como la entrega de actualizaciones de software a los usuarios o clientes de forma sólida y continua.

La entrega continua en DevOps automatiza todo este proceso, desde que se integra el código en el repositorio único, se realizan las pruebas y comprueban los cambios, hasta la entrega al usuario.

La entrega continua se la conoce como el siguiente paso o extensión de la integración continua. Tiene como objetivo principal conseguir que la entrega de los nuevos cambios o actualizaciones del software a los clientes se realicen de forma ágil y fiable.

A pesar de que la automatización es una de las características de la entrega continua, esta fase del desarrollo del software tiene un componente de intervención humana (las entregas se realizarán cuando se indique de forma explícita). En la entrega continua los desarrolladores controlan cuándo y cuántas veces se realiza la entrega de software.

La entrega continua acelera la entrega de software a los usuarios y puede ser realizada varias veces al día, a la semana, o según las necesidades o características de cada proyecto de desarrollo.

Continuous Deployment

Una de las mayores confusiones a la hora de definir estos términos relacionados con el desarrollo de software, se produce por la coincidencia de las siglas de entrega continua y despliegue continuo (en ambas se usa CD).

El despliegue continuo o CD (continuous deployment) está relacionado estrechamente con la entrega continua. Con el despliegue continuo se va un paso más allá de la entrega continua, automatizando todo el proceso de entrega de software al usuario, eliminando la acción manual o intervención humana necesaria en la entrega continua.

El despliegue continuo permite cumplir con el concepto de producción continua que persigue la metodología DevOps. Todo el proceso de despliegue sigue una serie de pasos que deben ejecutarse en orden y de forma correcta. Si alguno de estos pasos no se concluye de forma satisfactoria, el despliegue no se llevará a cabo. Por eso es fundamental que el diseño de la automatización de pruebas se realice de forma correcta, pues al no producirse ninguna entrada o acción manual, dependerá en gran medida de cómo sea ese diseño.

El despliegue continuo libera de carga a los equipos de operaciones de procesos manuales, que son una de la principal causa de retrasos en la distribución de aplicaciones.

El uso de estas prácticas de mejora en los procesos de desarrollo de software aporta una serie de beneficios como la entrega o liberación inmediata de código, una simplificación del trabajo colaborativo o de equipo, permite una detección temprana de errores, disminuye costes de desarrollo (ahorra tiempo y esfuerzo) y favorece la comunicación entre todos los implicados en el proceso de desarrollo.