La entrega continua permite a los equipos de desarrollo automatizar el proceso que mueve el software a través del ciclo de vida de desarrollo de software, y puede proporcionar muchas ventajas al aprovisionar una caja de herramientas integrada, incluidas las siguientes:
En el siguiente video, Eric Minick explica más sobre la entrega continua:
Las siguientes son un conjunto de prácticas recomendadas a tener en cuenta al utilizar la entrega continua:
Para aprovechar las ventajas de la entrega continua, necesita otros elementos del marco continuo, como la exploración continua, la integración continua, la implementación continua y el lanzamiento bajo demanda.
Cuando utilice fases en la canalización de entrega continua, debe dividirlas en trabajos separados, que son unidades de ejecución dentro de una etapa:
La canalización de entrega continua puede ayudar a los equipos de desarrollo:
La implementación continua puede formar parte de una canalización de entrega continua. Específicamente, la entrega continua es el movimiento automatizado del código a través del ciclo de vida de desarrollo (a veces llamado ciclo de vida de entrega); la implementación continua es el movimiento automatizado de ese código en producción, una vez que pasa las pruebas automatizadas requeridas.
El hecho de que la implementación continua forme parte de su proceso de entrega depende de las necesidades de su negocio. Si la empresa necesita que el equipo de entrega lance software nuevo o actualizado a producción de forma repetida, fiable o lo más rápidamente posible, o si la solución tiene múltiples dependencias, entonces es probable que se beneficie del despliegue continuo.
Para obtener más información sobre las diferencias entre el despliegue continuo y la entrega continua, consulte este vídeo:
Una herramienta de entrega continua le permite usar herramientas de código abierto para crear, implementar y administrar sus aplicaciones. Al integrar conjuntos de herramientas, puede crear tareas repetibles y manejables, no solo para su equipo de desarrollo, sino también para su equipo de operaciones.
Su caja de herramientas puede incluir sus servicios en la nube actuales, herramientas de código abierto y herramientas de terceros, pero también querrá considerar una herramienta de entrega continua que incluya lo siguiente:
Las herramientas de entrega continua de código abierto que puede utilizar para una sólida canalización de entrega continua incluyen Jenkins, Conlot CI, Spinnaker, Travis CI, GoCD y GitLab CI.
Entrega continua ágil
Antes, sólo se lanzaba el software una vez y luego se actualizaba. Y solo consultaría a los clientes al principio y al final para ver si el software se ajustaba sus necesidades.
La metodología ágil es una forma de producir software en iteraciones cortas en un cronograma de entrega continua, y el proceso de entrega continua ágil de hoy en día significa que se puede publicar código para el cliente a medida que cada función definida previamente esté disponible. El desarrollo ágil y la entrega continua son las claves para que las funciones lleguen al cliente tan pronto como estén listas para producción. Su objetivo es tener cada función lista para su lanzamiento cuando salga de la canalización.
Obtenga más información sobre los beneficios de los principios ágiles.
DevOps y entrega continua
En las últimas dos décadas, el desarrollo de software ha experimentado cambios significativos a medida que pasó del concepto de cascada estándar a la metodología ágil más eficiente. Para adaptarse, debe cambiar a un enfoque centrado en la metodología ágil, DevOps y entrega continua. Como parte de una canalización de entrega continua, estos procesos centrados permiten versiones y actualizaciones de software más fiables y de alta calidad.
A medida que haga lanzamientos de software más rápidos y pequeños a través del desarrollo ágil, su enfoque será más estricto en las etapas individuales del desarrollo de software. Al mismo tiempo, DevOps mantiene su mente centrada en la "Visión más amplia" y en el cambio cultural, a medida que el desarrollo y las operaciones se fusionan estrechamente en un solo equipo que trabaja en todo el ciclo de vida del desarrollo de software, desde la codificación hasta las pruebas, pasando por la implementación y el soporte.
Para ver más de cerca el proceso de DevOps, vea el siguiente vídeo:
IBM Continuous Delivery es un servicio en la nube que ayuda a aprovisionar cadenas de herramientas, automatizar compilaciones y pruebas, y controlar la calidad con analítica.
La familia de productos de software IBM® UrbanCode le ayuda a lanzar software al mercado más rápido acelerando la entrega de aplicaciones y reduciendo los procesos manuales.
Cree canalizaciones de CI/CD nativas de Kubernetes con la máxima velocidad y flexibilidad.
DevOps acelera la entrega de software de mayor calidad combinando y automatizando el trabajo de los equipos de desarrollo de software y operaciones de TI.
La integración continua es un proceso de desarrollo iterativo en el que los desarrolladores integran código nuevo en la base de código al menos una vez al día.
Guía práctica de la canalización de integración continua/entrega continua (CI/CD).