Inicio

Topics

Entrega continua

¿Qué es la entrega continua?
Explore la solución de entrega continua de IBM Regístrese para recibir actualizaciones sobre IA
Ilustración con collage de pictogramas de engranaje, brazo robótico, teléfono móvil
¿Qué es la entrega continua?

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.

La entrega continua puede proporcionar muchas ventajas a la hora de aprovisionar una caja de herramientas integradas, entre ellas:

  • Reducir el tiempo de implementación mediante pruebas y desarrollo continuos.

  • Disminuir los costes asociados con el desarrollo de software tradicional.

  • Escalar el desarrollo de software según el tamaño del proyecto.

  • Implementar automáticamente el código en cada fase del ciclo de desarrollo.
The Total Economic Impact of IBM Robotic Process Automation

Vea un análisis de costes y beneficios de IBM Robotic Process Automation (RPA).

Contenido relacionado Regístrese para obtener la guía sobre observabilidad
Mejores prácticas de entrega continua

Es posible que quiera tener en cuenta este conjunto de buenas prácticas al utilizar la entrega continua:

  • Hacer que cada cambio sea publicable: si utiliza la entrega continua para que cada cambio sea publicable, debe incluir la documentación del usuario, los manuales de operaciones e información sobre los cambios, con fines de auditoría.

  • Adoptar el desarrollo basado en la conexión troncal: la entrega continua se basa en la integración continua. Evitar en la medida de lo posible las ramas que retrasan la integración, de modo que todos los cambios se creen, prueben e implementen juntos para obtener un feedback lo más rápido posible.

  • Entrega a través de un conducto automatizado: para implementar con éxito la entrega continua, necesita un canal de entrega automatizado y bien construido para garantizar que todas las versiones de su código pasen a sus entornos de prueba y producción de manera consistente.

  • Automatizar todo lo posible: en la entrega continua, debe automatizar tantos procesos como sea posible en su ciclo de vida de desarrollo de software. Esta automatización crea un canal de distribución fiable, no sólo para la creación y la implementación de código, sino también para la creación de nuevos entornos de desarrollo.

  • No busque tiempo de inactividad: para garantizar la disponibilidad de la aplicación mientras realiza actualizaciones frecuentes y continuas, cuando introduzca una nueva función en producción, deberá validarla antes de desplegarla en la instancia pública de la aplicación en ejecución.

  • Lanzarse en la granularidad de la prueba: si dos partes de un sistema deben probarse juntas, deben lanzarse juntas para saber que las partes de su sistema son compatibles. Las herramientas de automatización de versiones son buenas para coordinar este tipo de entrega. Como alternativa, desacople totalmente.
Proceso/marco continuo

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:

  • Crear trabajos: compile el proyecto en el trabajo de compilación para prepararse para la implementación, donde se generan artefactos que se pueden enviar a un directorio de archivo de compilación.

  • Implementar trabajos: suba su proyecto a su canal de entrega continua como una aplicación a la que pueda acceder desde una URL. Después de implementar el proyecto, lo verá en su panel de control.

  • Trabajos de prueba: personalice e incluya trabajos de prueba antes o después de crear e implementar trabajos basados en su conjunto de pruebas unitarias o pruebas funcionales con servicios de prueba de terceros.

La canalización de entrega continua puede ayudar a los equipos de desarrollo:

  • Automatice las compilaciones, las pruebas unitarias y la implementación.

  • Edite y envíe código utilizando repositorios Git, seguimiento de problemas y su IDE web (entorno de desarrollo integrado).

  • Cree una caja de herramientas DevOps integrada para crear, implementar y gestionar sus aplicaciones con sus servicios, herramientas de código abierto y herramientas de terceros.

  • Edite su código desde cualquier lugar en el que elija usar su IDE para crear, editar, ejecutar, depurar y completar tareas de control de versiones.

  • Utilice su canalización automatizada para entregar continuamente compilaciones, pruebas e implementaciones de manera repetible.

  • Mejore la calidad al conocer el estado de su compilación, los resultados de los análisis de seguridad, la cobertura del código y la cobertura de las pruebas, de modo que pueda evaluar si debe promocionar su aplicación al siguiente entorno (mediante puertas de políticas para garantizar automáticamente la calidad antes de la promoción).
Implementación continua frente a entrega continua

La implementación continua puede formar parte de una canalización de entrega continua. En concreto, la entrega continua es el movimiento automatizado del código a través del ciclo de vida del desarrollo, a veces denominado ciclo de vida de entrega. La implementación continua es el paso automatizado de ese código a producción, una vez que supera las pruebas automatizadas necesarias.

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:

Herramientas de entrega continua

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 actuales servicios en la nube, herramientas de código abierto y herramientas de terceros, pero también querrá considerar una herramienta de entrega continua que incluya:

  • Plantillas repetibles para la automatización de compilación e implementación. Si funciona para una de sus aplicaciones, debería funcionar para otras. No permita que todos los equipos tengan que lidiar con problemas de configuración por sí mismos.

  • Una canalización para que pueda compilar automáticamente al introducir cambios, desplegar en la nube, incorporar compilaciones y despliegues en sus cadenas de herramientas y gestionar despliegues en toda su cadena de herramientas.

  • Herramientas para la colaboración en equipo, la planificación, la gestión del código fuente y las pruebas.

  • Instrumentación que muestra dónde avanza rápidamente el equipo y dónde se atasca, proporcionando una guía para ser "más continuos".

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.

Agilidad y DevOps

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 agilidad es una forma de producir software en iteraciones cortas según un calendario de entrega continuo. El ágil proceso de entrega continua actual significa que puede liberar código para el cliente a medida que cada función definida 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.

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 agilidad, 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 el desarrollo ágil le permita lanzar versiones de software más rápidas y pequeñas, se centrará más en cada una de las fases del desarrollo de software. Al mismo tiempo, DevOps mantiene su mente centrada en el "panorama general" y el cambio cultural. Este enfoque fusiona el desarrollo y las operaciones en un solo equipo. Este equipo trabaja en todo el ciclo de vida del desarrollo de software, desde la codificación hasta las pruebas, la implementación y el soporte.

Para conocer más a fondo DevOps, vea el vídeo:

Soluciones relacionadas
IBM Cloud Continuous Delivery

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.

Explorar IBM Cloud Continuous Delivery
IBM UrbanCode

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.

Explore IBM UrbanCode
Tekton en IBM Cloud

Cree canalizaciones de CI/CD nativas de Kubernetes con la máxima velocidad y flexibilidad.

Explore Tekton en IBM Cloud
Recursos ¿Qué es DevOps?

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.

¿Qué es la integración continua?

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.

¿Qué son CI/CD y la canalización de CI/CD?

Guía práctica de la integración continua/entrega continua (CI/CD).

Dé el siguiente paso

¿Todo listo para DevOps? Para ofrecer software y servicios a la velocidad que exige el mercado, los equipos deben iterar y experimentar con rapidez, desplegar nuevas versiones con frecuencia y guiarse por los comentarios y los datos. Los equipos de desarrollo en la nube con más éxito adoptan la cultura y las prácticas DevOps modernas, arquitecturas nativas de la nube y reúnen cadenas de herramientas de las mejores para dar rienda suelta a su productividad.

Explore las soluciones DevOps Pruébelo gratis