La entrega continua permite a los equipos de desarrollo automatizar el proceso que mueve el software a través del ciclo de vida del desarrollo de software, y puede proporcionar muchos beneficios al aprovisionar una caja de herramientas integrada, incluyendo lo siguiente:
En el siguiente video, Eric Minick explica más sobre la entrega continua:
Las siguientes son un conjunto de mejores prácticas a tener en cuenta cuando se utiliza la entrega continua:
Para aprovechar los beneficios de la entrega continua, necesita otros elementos de la infraestructura continua, como exploración continua, integración continua, despliegue continua y lanzamiento bajo demanda.
Cuando utilice etapas de pipeline de entrega continua, debe dividirlas en trabajos separados, que son unidades de ejecución dentro de una etapa:
El pipeline de entrega continua puede ayudar a los equipos de desarrollo a:
El despliegue continuo puede ser parte de un proceso de entrega continuo. Específicamente, la entrega continua es el movimiento automatizado del código a través del ciclo de vida del desarrollo (a veces llamado ciclo de vida de la entrega); el despliegue continuo es el movimiento automatizado de ese código en producción, una vez que pasa las pruebas automatizadas requeridas.
La decisión de incluir el despliegue continuo en su proceso de entrega depende de las necesidades de su empresa. Si la empresa necesita que el equipo de entrega publique software nuevo o actualizado en producción repetidamente, confiable o lo más rápido posible, o si la solución tiene múltiples dependencias, es probable que se beneficie de la implementación continua.
Para obtener más información sobre las diferencias entre el despliegue continuo y la entrega continua, vea este video:
Una herramienta de entrega continua le permite utilizar herramientas de código abierto para compilar, desplegar 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 usar para un pipeline de entrega continua sólida incluyen Jenkins, Concourse CI, Spinnaker, Travis CI, GoCD y GitLab CI.
Entrega continua ágil
Anteriormente, el software sólo se publicaba una vez y luego se actualizaba. Entonces solo consultaría a los clientes al principio y al final para ver si el programa satisface sus necesidades.
Agile es una forma de producir software en iteraciones cortas en un cronograma de entrega continuo, y el proceso de entrega continua ágil de hoy significa que puede liberar el código al cliente a medida que cada característica definida esté disponible. El desarrollo ágil y la entrega continua son clave para que las características lleguen al cliente tan pronto como estén listas para la producción. Su objetivo es tener cada característica lista para su lanzamiento cuando salga del proceso.
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 sufrido cambios significativos a medida que se ha pasado del concepto de cascada estándar a la metodología ágil más eficiente. Para adaptarse, debe cambiar a un enfoque centrado en una entrega ágil, DevOps y continua. Como parte de un pipeline de entrega continua, estos procesos enfocados permiten lanzamientos y actualizaciones de software más confiables y de alta calidad.
A medida que realice lanzamientos de software más rápidos y más pequeños a través de un desarrollo ágil, su atención se centrará más en las etapas individuales del desarrollo de software. Al mismo tiempo, DevOps mantiene su mente enfocada en el "Imagen más grande" y el cambio cultural, ya 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 programación hasta las pruebas, pasando por el despliegue y el soporte.
Para ver más de cerca el proceso de DevOps, vea el siguiente video:
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 lo ayuda a entregar software al mercado más rápido acelerando la entrega de aplicaciones y reduciendo los procesos manuales.
Cree tuberías CI/CD nativas de Kubernetes con máxima velocidad y flexibilidad.
DevOps acelera la entrega de software de mayor calidad al combinar y automatizar 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.
Una guía práctica para el pipeline de integración/entrega continua (CI/CD).