¿Qué es la integración continua/entrega continua (CI/CD)?

Publicado el 24 de septiembre de 2024
Actualizado el 19 de junio de 2026
Fondo abstracto de tecnología 3D con una computadora portátil con cubos
By Stephanie Susnjara and Ian Smalley

¿Qué es el pipeline de CI/CD?

El pipeline de integración continua/entrega continua (CI/CD) es un flujo de trabajo DevOps automatizado que optimiza el proceso de entrega de software.

Una característica vital del pipeline de CI/CD es el uso de automatización para garantizar la calidad del código. A medida que los cambios de software avanzan a través del pipeline, las pruebas automatizadas identifican antes las dependencias y otros problemas, envían cambios de código a diferentes entornos y entregan aplicaciones a entornos de producción.

Aquí, el rol de la automatización es realizar un control de calidad, evaluando desde el rendimiento hasta el uso y la seguridad de la interfaz de programación de aplicaciones (API). Este proceso ayuda a garantizar que los cambios realizados por todos los miembros del equipo se integren de forma integral y se realicen según lo previsto.

La capacidad de automatizar varias fases del pipeline de CI/CD ayuda a los equipos de desarrollo a mejorar la calidad, trabajar más rápido y mejorar otras métricas de DevOps.

Pipeline CI/CD frente a CI/CD: ¿cuál es la diferencia?

Mientras que el pipeline de CI/CD se refiere a flujos de trabajo ágiles de DevOps, CI/CD representa las prácticas combinadas de integración continua y entrega continua.

CI/CD crea una forma más rápida y precisa de combinar el trabajo de diferentes personas en 1 producto cohesivo. En entornos DevOps, CI/CD agiliza los procesos de programación, pruebas y despliegue de aplicaciones. Este enfoque brinda a los equipos un repositorio único para almacenar el trabajo y las herramientas de automatización para combinar y probar el código para garantizar que funcione de manera congruente.

IBM DevOps

¿Qué es DevOps?

Andrea Crawford explica qué es DevOps, el valor de DevOps y cómo las prácticas y herramientas de DevOps le ayudan a mover sus aplicaciones a través de todo el delivery pipeline, desde la ideación hasta la producción. Dirigido por los principales líderes de pensamiento de IBM, el programa de estudio está diseñado para ayudar a los líderes empresariales a adquirir los conocimientos necesarios para priorizar las inversiones en IA que pueden impulsar el crecimiento.

Beneficios del pipeline de CI/CD

El pipeline de CI/CD permite a los equipos de DevOps escribir código, integrarlo, ejecutar pruebas, entregar versiones y desplegar cambios en el software de forma colaborativa y en tiempo real. Si bien la automatización de las versiones de software, desde las pruebas iniciales hasta el despliegue final, es un beneficio significativo del pipeline de CI/CD, otros beneficios incluyen:

  • Reducción del tiempo de despliegue: las pruebas automatizadas hacen que el proceso de desarrollo sea más eficiente, reduciendo la duración del proceso de entrega del software. Además, el despliegue continuo y el aprovisionamiento automatizado permiten que los cambios de un desarrollador en una aplicación en la nube se publiquen en cuestión de minutos tras haberlos escrito.
  • Reducción de costos: el desarrollo, las pruebas y la producción rápidos (facilitados por la automatización) implican menos tiempo dedicado al desarrollo. Este proceso da como resultado una reducción de costos en comparación con el desarrollo de software tradicional.
  • Ciclos de feedback continuos: el pipeline de CI/CD representa un ciclo continuo: construir, probar, desplegar. Los ciclos de feedback permiten a los desarrolladores actuar rápidamente y mejorar el código cada vez que ese código es probado.
  • Detección temprana de errores: en la integración continua, las pruebas se automatizan para cada versión del código creado para buscar problemas en la integración. Estos problemas son más fáciles de solucionar cuanto antes ocurran en el pipeline.
  • Menor tiempo de inactividad y mayor confiabilidad: en caso de fallas en el despliegue, errores o problemas de rendimiento, las características como las reversiones automatizadas revierten un sistema de software o una aplicación a un estado estable anterior. Esta característica minimiza el tiempo de inactividad y mejora la confiabilidad del servicio.
  • Colaboración mejorada del equipo e integración del sistema: todos los miembros del equipo pueden cambiar el código, responder al feedback y reaccionar rápidamente a cualquier problema.

¿Cómo funciona el pipeline de CI/CD?

El pipeline de CI/CD consta de 3 metodologías conectadas:

  • Integración continua
  • Entrega continua
  • Despliegue continuo

¿Qué es la integración continua?

El proceso de CI/CD comienza con la integración continua (CI), donde los desarrolladores comprometen su código en repositorios centrales gestionados por sistemas de control de versiones (VCS). CI permite a los desarrolladores trabajar de forma independiente, creando su propia “rama” de programación para implementar pequeños cambios.

A medida que el desarrollador trabaja, puede tomar instantáneas del código fuente, generalmente dentro de una herramienta de control de versiones como Git. El desarrollador es entonces libre de trabajar en nuevas características; si surge un problema, Git puede revertir rápidamente el código base a su estado anterior.

Luego, el trabajo de las personas se introduce en un sistema automatizado que utiliza scripts para construir y probar los cambios de código. Después de la etapa de compilación automatizada, un servidor de CI compila los cambios de código fuente en el código de rama principal o “tronco” del repositorio de código fuente compartido.

En lugar de escribir código de forma independiente y enviarlo a la rama de código principal una vez al mes, lo que puede dificultar el trabajo de corrección de errores y llevar a un control de versiones deficiente, el proceso de desarrollo de CI/CD permite a los equipos enviar cambios de código con mayor frecuencia. Estas pruebas continuas ofrecen arreglos más rápidos, ayudan a garantizar la funcionalidad y, en última instancia, dan como resultado una mejor colaboración y una mayor calidad del software.

¿Qué es la entrega continua?

El siguiente paso en el pipeline es la entrega continua (CD), que coloca los cambios de código validados realizados en la integración continua en entornos seleccionados o repositorios de código, como GitHub. Aquí, el equipo de operaciones puede desplegarlos en un entorno de producción en vivo.

El software y las API se prueban y los errores se resuelven a través de un proceso automatizado. En el paso final del proceso de CD, el equipo de DevOps recibe una notificación sobre la última compilación y la envía manualmente a la etapa de despliegue.

El objetivo de la etapa del pipeline de entrega continua es desplegar nuevo código con el mínimo esfuerzo, pero aún permitir un nivel de supervisión humana.

¿Qué es la implementación continua?

CD en el proceso de CI/CD también significa despliegue continuo. El despliegue continuo libera automáticamente los cambios de código para los usuarios finales después de pasar una serie de pruebas predefinidas, como pruebas de integración que analizan el código en un entorno de copia para garantizar la integridad del código.

Entrega continua frente a despliegue continuo

Tanto la entrega continua como el despliegue continuo se ocupan de la automatización más adelante en el pipeline que CI y, a menudo, se usan indistintamente.

La diferencia entre la entrega continua y el despliegue continuo está en el nivel de automatización utilizado en los lanzamientos de software o aplicaciones. En la entrega continua, el código se traslada automáticamente a entornos similares a los de producción para realizar más pruebas y garantizar la calidad, como la evaluación de riesgos y la identificación de vulnerabilidades del código fuente. Se requiere intervención humana para pasar a la producción después de las pruebas exitosas.

En el despliegue continuo, la automatización va más allá. Una vez que el código pasa las pruebas, el despliegue a producción ocurre automáticamente; la aprobación humana no es necesaria.

La forma en que una organización aplica el pipeline de CI/CD y decide si utilizar la entrega o el despliegue continuo depende de sus necesidades empresariales. El despliegue continuo es mejor para los equipos de DevOps con un ciclo de vida de desarrollo rápido, como aquellos que construyen sitios de comercio electrónico y plataformas de software como servicio (SaaS).

El despliegue continuo respalda el proceso de lanzamiento de software al permitir que los equipos lancen software nuevo o actualizado con frecuencia y lo más rápido posible. Debido a que los cambios se despliegan automáticamente al público, este tipo de pipeline de despliegue continuo lo utilizan normalmente los equipos de DevOps que tienen un proceso probado.

Para los equipos que podrían no necesitar lanzar actualizaciones con tanta frecuencia en su flujo de trabajo, como aquellos que crean aplicaciones de atención médica, la entrega continua suele ser la opción preferida. Es más lento, pero ofrece otra capa de supervisión para garantizar la funcionalidad para los usuarios finales.

Para conocer con más detalle la diferencia entre entrega continua y despliegue continuo, mire este video.

¿Qué es una pipeline de machine learning?

Un pipeline de machine learning es una serie de pasos interconectados de procesamiento y modelado de datos diseñados para automatizar, estandarizar y optimizar el proceso de creación, entrenamiento, evaluación y despliegue de modelos de machine learning.

Los pipelines de machine learning son un componente esencial en el desarrollo y la producción de sistemas de machine learning (ML). Además, se volvieron cada vez más importantes debido al crecimiento del big data y la inteligencia artificial (IA).

Según Kings Research, el tamaño del mercado global de machine learning fue valorado en 26.06 millones de dólares en 2023 y se prevé que crezca de 35.440 millones en 2024 a 328.89 mil millones para 2031, mostrando una tasa compuesta anual del 37.47 % durante el periodo de pronóstico.1

Los pipelines de machine learning se integran con las prácticas de DevOps para habilitar CI/CD de modelos de machine learning. Esta integración se conoce como operaciones de machine learning (MLOps), que ayuda a los equipos de ciencia de datos a gestionar eficazmente la complejidad de la orquestación de machine learning (ML).

Etapas del pipeline de CI/CD

Desde el código fuente hasta la producción, estas etapas comprenden el ciclo de vida de desarrollo y el flujo de trabajo del pipeline de CI/CD:

  • Construya
  • Prueba
  • Entregar
  • Desplegar

Build

Esta etapa forma parte del proceso de integración continua e implica la creación y compilación de código. Los equipos se basan en el código fuente de forma colaborativa e integran el nuevo código mientras determinan rápidamente cualquier problema o conflicto.

Pruebe

En esta etapa, los equipos prueban el código. Las pruebas automatizadas se realizan tanto en entrega continua como en despliegue continuo. Estos entornos de prueba pueden incluir pruebas de integración, pruebas unitarias y pruebas de regresión.

Entrega

Aquí, se envía una base de código aprobada a un entorno de producción. Esta etapa se automatiza en el despliegue continuo y solo se automatiza en la entrega continua después de la aprobación del desarrollador.

Desplegar

Por último, se despliegan los cambios y el producto final se lleva a producción. En la entrega continua, los productos o códigos se envían a repositorios y se llevan a producción o despliegue mediante la aprobación humana. En el despliegue continuo, este paso está automatizado.

Herramientas y configuración de CI/CD

Al seleccionar herramientas de CI/CD, la atención debe centrarse en optimizar y automatizar el proceso de desarrollo de software. Una pipeline eficaz de CI/CD usa herramientas de código abierto para la integración, las pruebas y el despliegue. La configuración correcta del proceso de CI/CD también afecta el éxito del pipeline de desarrollo de software.

La herramienta de CI/CD de código abierto más común es Jenkins. Jenkins es un servidor de CI automatizado escrito en Java que se utiliza para automatizar los pasos de CI/CD y la elaboración de informes. Otras herramientas de código abierto para la integración incluyen Travis CI y CircleCI.

Además de las herramientas de código abierto, los principales proveedores de servicios en la nube (Google Cloud, IBM® Cloud, Microsoft Azure y Amazon Web Services o AWS) ofrecen cadenas de herramientas de CI/CD basadas en la nube, pipelines e integraciones de herramientas.

Los entornos de desarrollo integrados (IDE), como GitHub o AWS CodeCommit, ayudan a los desarrolladores a crear, mantener y rastrear paquetes de software. Al mismo tiempo, las plataformas como GitLab buscan proporcionar el IDE dentro de una plataforma integral que incluye otras herramientas.

Cuando operan en un entorno de nube, los equipos de DevOps nativos de la nube utilizan contenedores como Docker para aplicaciones de empaquetado y envío, y utilizan herramientas de orquestación de contenedores como Kubernetes. Si bien Kubernetes no es estrictamente para el pipeline de CI/CD, se utiliza en muchos flujos de trabajo de CI/CD.

Seguridad de CI/CD

La seguridad de CI/CD se centra en prácticas, procesos y tecnologías que implementan y gestionan medidas de seguridad y cumplimiento en todo el pipeline de CI/CD.

En el pasado, la seguridad se “adhirió” al software al final del ciclo de desarrollo. El avance de las plataformas en la nube, los microservicios y los contenedores creó un cuello de botella para el enfoque de desarrollo tradicional.

La seguridad podría no seguir el ritmo de los lanzamientos rápidos a medida que los desarrolladores adoptaron prácticas ágiles y DevOps, impulsando la evolución de DevSecOps, que significa desarrollo, seguridad y operaciones. DevSecOps automatiza la integración de las prácticas de herramientas de seguridad a medida que surgen dentro de los pipelines de integración continua (CI) y entrega continua (CD).

Las prácticas de DevSecOps incluyeron pruebas de shift left y shift right. Las pruebas de shift left implican la integración de pruebas de seguridad y otras prácticas críticas de desarrollo más temprano en el ciclo de vida del desarrollo de software (SDLC). Las pruebas de shift right implican pruebas posteriores en el desarrollo, generalmente en entornos de producción. Estos métodos se complementan entre sí al distribuir la responsabilidad de las pruebas en todo el SDLC.

Autores

Stephanie Susnjara

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Soluciones relacionadas
IBM Instana Observability

Aproveche el poder de la IA y la automatización para resolver problemas de manera proactiva en toda la pila de aplicaciones.

Explore IBM Instana Observability
Soluciones de DevOps

Utilice el software y las herramientas de DevOps para crear, desplegar y gestionar aplicaciones nativas de la nube en múltiples dispositivos y entornos.

Explore las soluciones de DevOps
Servicios de consultoría en la nube

Acelere la agilidad y el crecimiento empresarial: modernice continuamente sus aplicaciones en cualquier plataforma con nuestros servicios de consultoría en la nube.

Explore los servicios de consultoría en la nube
Dé el siguiente paso

Desde la detección proactiva de problemas con IBM Instana hasta los insights en tiempo real en toda su pila, puede mantener las aplicaciones nativas de la nube funcionando de forma confiable.

  1. Descubra IBM Instana
  2. Explore las soluciones de DevOps