Inicio

Temas

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 engrane, 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 lo largo del ciclo de vida de desarrollo de software.

La entrega continua puede brindar muchos beneficios al proporcionar una caja de herramientas integrada, entre ellos:

  • Reduzca el tiempo de despliegue a través de pruebas continuas y desarrollo.

  • Reduzca los costos asociados con el desarrollo de software tradicional.

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

  • Desplegar automáticamente el código en cada fase del ciclo de desarrollo.
El impacto económico total de IBM Robotic Process Automation

Vea un análisis de costos 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 desee tener en cuenta este conjunto de mejores prácticas al emplear la entrega continua:

  • Hacer que cada cambio pueda liberarse: Si utiliza la entrega continua para hacer que cada cambio pueda liberarse, debe incluir documentación de usuario, manuales de ejecución de operaciones e información sobre lo que se ha cambiado, con fines de auditoría.

  • Adopte el desarrollo basado en troncos: la entrega continua se basa en la integración continua. Evite, en la medida de lo posible, las ramas que retrasan la integración de modo que todos los cambios se creen, prueben y desplieguen juntos para obtener una respuesta lo más rápido posible.

  • Entrega a través de un pipeline 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.

  • Automatice tanto como sea 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 delivery pipeline bueno y confiable, no solo para la compilación y despliegue de código, sino también para la creación de nuevos entornos de desarrollo.

  • Procure no tener 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, primero debe validarla antes de desplegarla en la instancia pública de la aplicación en ejecución.

  • Lanzamiento 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 lanzamientos son buenas para coordinar este tipo de entrega. Alternativamente, desacople por completo.
Pipeline/infraestructura continua

Para aprovechar los beneficios de la entrega continua, necesita otros elementos de la infraestructura continua, como exploración continua, integración continua, despliegue continuo 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:

  • Crear trabajos: compile su proyecto en la tarea de compilación para prepararlo para el despliegue, donde puede generar artefactos que puedes enviar a un directorio de archivos de compilación.

  • Desplegar trabajos: cargue su proyecto a su canal de entrega continua como una aplicación a la que puede acceder desde una URL. Después de desplegar el proyecto, podrá verlo en su panel de control.

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

El pipeline de entrega continua puede ayudar a los equipos de desarrollo a:

  • Automatizar compilaciones, pruebas unitarias y despliegue.

  • Editar y empujar código mediante repositorios Git, seguimiento de problemas y su IDE web (entorno de desarrollo integrado).

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

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

  • Utilice su pipeline automatizado para entregar continuamente compilaciones, pruebas y despliegues de manera repetible.

  • Mejore la calidad al comprender el estado de su compilación, los resultados del análisis de seguridad, la cobertura del código y la cobertura de prueba para que pueda evaluar si quiere promocionar su aplicación en el siguiente entorno (a través de la política para garantizar automáticamente la calidad antes de la promoción)
Despliegue continuo frente a la entrega continua

El despliegue continuo puede ser parte de un proceso de entrega continuo. Específicamente, la entrega continua es el movimiento automatizado de código a través del ciclo de vida de desarrollo, a veces llamado ciclo de vida de entrega. El despliegue continuo es el movimiento automatizado de ese código a 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:

Herramientas de entrega continua

Una herramienta de entrega continua le permite utilizar herramientas de código abierto para construir, desplegar y gestionar 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:

  • Plantillas repetibles para la automatización de compilaciones y despliegue. Si funciona para una de tus aplicaciones, debería funcionar para otras. No permita que todos los equipos tengan problemas con la configuración.

  • Un pipeline para que pueda compilar automáticamente al realizar cambios, desplegar en su 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 de código fuente y las pruebas.

  • Instrumentación que destaca dónde se mueve su equipo con rapidez y dónde se retrasan las cosas, ofreciendo una guía para ser “más continuo”.

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.

Agilidad y DevOps

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. El proceso ágil de entrega continua de hoy significa que puede liberar 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.

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 delivery pipeline continuo, 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 “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 programación hasta las pruebas, el despliegue y el soporte.

Para ver más de cerca DevOps, vea el video:

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.

Conozca IBM Cloud Continuous Delivery
IBM UrbanCode

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.

Conozca IBM UrbanCode
Tekton en IBM Cloud

Cree tuberías CI/CD nativas de Kubernetes con máxima velocidad y flexibilidad.

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

DevOps acelera la entrega de software de mayor calidad, ya que combina y automatiza 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 el proceso de CI/CD?

Una guía práctica para el pipeline de integración/entrega continua (CI/CD).

Dé el siguiente paso

¿Está listo para DevOps? Para ofrecer software y servicios a la velocidad que exige el mercado, los equipos deben iterar y experimentar rápidamente, desplegar nuevas versiones con frecuencia y estar impulsados por feedback y datos. Los equipos de desarrollo en la nube más exitosos adoptan una cultura y prácticas modernas de DevOps, utilizan arquitecturas nativas de la nube y ensamblan las mejores cadenas de herramientas de su tipo para liberar su productividad.

Conozca las soluciones de DevOps Prueba sin costo