Linux

¿Qué es CI/CD? | República tecnológica

El nuevo ciclo de vida de desarrollo de software de integración continua/entrega continua promete mejoras significativas para las empresas.

devops
Imagen: iStockphoto/Rawpixel

El modelo tradicional de ciclo de vida de desarrollo de software (SDLC) se ve así:

  1. planificación
  2. implementar
  3. prueba
  4. Documentación
  5. Despliegue y Mantenimiento
  6. mantener

El modelo SDLC se ha utilizado durante muchos años y ha servido bien a la industria. Sin embargo, con la llegada y el uso generalizado de aplicaciones en contenedores, el modelo anterior no funcionó bien. ¿Por qué? velocidad. Uno de los principales beneficios de las aplicaciones en contenedores es la velocidad con la que se pueden crear e implementar.

Aún mejor, especialmente para empresas de nivel empresarial, las aplicaciones y los servicios en contenedores se pueden automatizar casi por completo desde la implementación hasta el escalado y la actualización. Estos dos aspectos (velocidad y automatización) realmente no permiten los modelos de ciclo de vida tradicionales.

Aquí es donde entra en juego CI/CD. ¿Qué es CI/CD? Integración Continua/Entrega Continua. Este artículo también está disponible para descargar, ¿Qué es CI/CD? (PDF gratuito).

Mirar: Herramienta de contratación: Administrador de base de datos (República Tecnológica Premium)

¿Qué es un oleoducto?

Antes de hablar de CI o CD, es bueno entender qué es una canalización. En realidad, una canalización es un conjunto de eventos o trabajos que se conectan entre sí en secuencia. Pero es un poco más complicado que eso, porque cada secuencia (o etapa) depende del resultado de la etapa anterior. asi que:

LEER  Realice tareas comunes de PowerPoint en Impress en OpenOffice.org 2.0

Etapa 1 > Salida > Etapa 2 > Salida > Etapa 3 > Salida

Si la salida de cualquier etapa falla, la siguiente etapa también fallará. Las canalizaciones de CI/CD tienen que ver con la automatización: iniciar compilaciones de código, automatizar pruebas y automatizar implementaciones para puesta en escena o producción. Es una canalización complicada pero increíblemente rápida.

¿Qué es la Integración Continua (CI)?

La integración continua es el proceso que permite a los desarrolladores integrar código nuevo en un repositorio compartido como GitHub durante todo el día. La confirmación continua de confirmaciones permite que todo el sistema (generalmente a través de la automatización) detecte cualquier error de integración en las etapas iniciales de la confirmación para que los problemas se puedan resolver de inmediato.

Se activa una nueva compilación tan pronto como el nuevo código se fusiona con el repositorio existente. Una vez que se completa la compilación, se realiza automáticamente una ejecución de prueba en la compilación para asegurarse de que nada se rompa. Esta integración de código ocurre constantemente (de ahí la C en CI).

¿Qué es la entrega continua (CD)?

La entrega continua (CD) ocurre al final del ciclo de CI y es responsable de la entrega automatizada del código de integración desde el desarrollo hasta la producción. El CD no solo se encarga de entregar automáticamente el código de integración, sino también de garantizar que el código se entregue sin errores ni retrasos.

La entrega continua ayuda a los desarrolladores a fusionar código nuevo en la rama maestra con una gran coherencia. La parte del CD del ciclo también es responsable de probar la calidad del código y realizar controles para garantizar que la compilación funcional pueda lanzarse a producción.

Etapas de CI/CD

El ciclo de desarrollo de CI/CD es más corto que el modelo tradicional. Las etapas son:

  1. delito
  2. Hospedarse
  3. prueba
  4. desplegar

Este ciclo de vida no solo tiene menos etapas, sino que se ejecuta continuamente. Entonces, a medida que los desarrolladores se comprometen con el repositorio a lo largo del día, los siguientes pasos se realizan automáticamente. Gracias a herramientas de automatización como Jenkins, el ciclo se mueve constantemente de una etapa a otra.

Pros y contras de CI/CD

Obviamente, obtendrá fortalezas y debilidades en este ciclo de desarrollo. Algunas ventajas son:

  • Velocidad de implementación
  • Pruebas y análisis más rápidos
  • cambios menores de código
  • Aislamiento de fallas mejor y más rápido
  • Aumentar la cobertura de código
  • Implementación automática en el entorno de producción
  • Nunca publiques código roto
  • proceso repetible
  • Tiempo medio de resolución más rápido
  • cartera de pedidos más pequeña
  • Mejorar la satisfacción del cliente
  • Muchas herramientas de código abierto disponibles

Las desventajas de CI/CD son:

  • Debe aprender nuevas habilidades
  • Empinada curva de aprendizaje para la automatización
  • Gran inversión inicial
  • Los sistemas heredados rara vez admiten CI/CD
  • Alta disciplina y dedicación a la calidad.

¿Es CI/CD adecuado para su negocio?

Este es un problema complejo que requiere mucha planificación. Sin embargo, si busca acelerar su ciclo de vida de desarrollo y ofrecer un producto más consistente, entonces la integración continua/entrega continua podría ser una buena opción para su empresa.

LEER  Cómo instalar Cockpit en Pop!_OS para el mantenimiento del sistema

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba