¿Qué es la integración continua?

Rodrigo Ricardo Publicado el 10 noviembre, 2020 4 minutos y 53 segundos de lectura

Integración continua

¿Alguna vez ha experimentado una actualización importante de software que ni siquiera funciona? ¿Se pregunta si existe una mejor manera de ejecutar cambios de software? ¿Está interesado en realizar cambios en tiempo real en las versiones de software? Bueno, la integración continua podría ser lo que buscas.

La integración continua (CI) es un proceso ágil de realizar pequeños cambios de código que se enviarán a diario. Estos pequeños cambios son revisados ​​diariamente por un programa para determinar si el nuevo código es compatible con el código de software existente. Todos los programadores que trabajan en ese software envían sus cambios de código diariamente a un repositorio compartido. El nuevo código se prueba inmediatamente para solucionar cualquier problema. El equipo tiene visibilidad de toda la programación actual, creando un producto mucho más cohesivo.

El proceso

La integración continua es un proceso que se puede dividir en dos fases separadas: compilaciones continuas y automatización de pruebas . Una compilación continua contiene el cambio de código. Esto ocurre en el puesto de trabajo individual del programador. Es un cambio de código simple y se envía a un entorno compartido donde se almacena el conjunto de códigos más grande del equipo. La automatización de la prueba se produce en dos pasos separados: compilación y diseño . La parte de compilación de la prueba reúne todo el código. Imagínese esto como un rompecabezas para asegurarse de que todas las piezas encajen. El segundo diseño del escenario le da sentido a la imagen. Esta fase prueba para asegurarse de que el código general sea coherente. En este punto, el código puede marcarse para revisión o rechazarse por completo.

Ventajas de la integración continua:

  1. menos retroceso : los errores se pueden localizar rápidamente.
  2. más creación de funciones : se puede invertir tiempo en la creación en lugar de en el seguimiento de errores.
  3. Integración más corta : las nuevas funciones se pueden implementar rápidamente.
  4. Pruebas frecuentes : el proceso automatizado ofrece una identificación más rápida de problemas.
  5. comunicación más sólida : el repositorio compartido crea un lenguaje de programación común entre el equipo.

Contras de la integración continua:

  1. costoso : con la configuración y los recursos de prueba iniciales.
  2. recursos comprometidos : necesitan programadores para abordar los problemas a diario.

Pruebas

Existen principalmente dos tipos de pruebas: pruebas unitarias y pruebas de la interfaz del programa de aplicación (pruebas API). Las pruebas unitarias se utilizan para comprender cómo debería funcionar el código. Vea las pruebas unitarias como la rueda de un automóvil. Prueba la rueda rodando y haciéndola rebotar para asegurarse de que tenga el aire adecuado para funcionar correctamente. Las pruebas unitarias son fáciles de escribir, ya que están contenidas en un pequeño segmento de código. La prueba de API es la prueba de cómo las unidades o módulos se comunicarán entre sí. Imagina que tienes dos ruedas de coche y las unes mediante una varilla. La prueba API sería similar al proceso de probar cómo esta varilla se comunicará con las ruedas.

Las pruebas unitarias son independientes dentro de un pequeño conjunto de código, mientras que las pruebas API abordan cómo esas unidades se comunican entre sí.

Proceso de equipo

Un equipo que trabaja en el uso de la mejora continua tiene una comunicación más sólida y continua debido a las actividades diarias en un ambiente de trabajo compartido. Hay varios requisitos de proceso del equipo:

  1. el tiempo coherente : tiene que haber una regla sobre la frecuencia con la que se resuelven los problemas.
  2. la pausa de programación : tiempo diario asignado para solucionar problemas antes de que se agregue un nuevo código.
  3. la política de implementación sobre la frecuencia con la que se publicarán los cambios al consumidor de software.

La comunicación es la clave para un proceso sólido para cualquier implementación ágil. Debido a la sincronización diaria de los cambios, debe quedar muy claro cuándo se está probando y revisando el código.

Resumen de la lección

La integración continua es el proceso de realizar pequeños cambios de código en las versiones de software y enviar esos cambios a diario para probar problemas de compatibilidad. Hay dos partes de este proceso, la construcción continua y la automatización de pruebas . Los cambios de código que presentan un problema se pueden marcar o rechazar al principio del proceso y revisar o eliminar antes de su publicación. La automatización de la prueba se compone de dos procesos, la compilación y el diseño , que prueba cómo encaja el código y luego cómo funciona en general.

Los beneficios de la integración continua incluyen menos retroceso, más funciones de construcción de tiempo, períodos de integración más cortos, pruebas frecuentes y una comunicación más sólida. El sacrificio por estos beneficios es que es más costoso para la configuración de prueba inicial, así como los recursos necesarios para abordar problemas con frecuencia.

Hay dos formas de prueba: prueba unitaria y prueba API . La prueba unitaria evalúa cómo funciona un conjunto individual de código y, por lo general, es fácil de escribir y probar. Mientras que las pruebas de API evalúan cómo funcionan juntas al menos dos unidades, al hacer que se comuniquen entre sí.

Se requiere un equipo cohesionado, donde estén claras las políticas en torno al tiempo, las pausas del programa y la implementación del software. La fuerza del proceso de CI se basa en las reglas del equipo que se han implementado.

Explora más sobre este tema

Selecciona un tema y sigue aprendiendo...

Rodrigo Ricardo
Rodrigo Ricardo Editor y fundador