El concepto de integración continua.

  • Introducción
  • Palabras clave
  • Algunos servidores de integración populares
  • Algunos enlaces útiles
  • Notas

Introducción

El proceso de integración continua tiene como objetivo principal verificar que cada actualización del código fuente no genere regresiones y / o anomalías en una aplicación en desarrollo. Históricamente, la integración ha sido utilizada continuamente por IBM para desarrollar OS / 360 desde los años 60.

La integración continua no es una herramienta, sino un resultado práctico de eXtreme Programming (XP).

Los desarrolladores que trabajan en el mismo programa de aplicación, lo reinicializan con la mayor frecuencia posible. Esto activará, en cada integración, un proceso que se basa en una plataforma que supervisa automáticamente el funcionamiento de la aplicación para que se detecten anomalías en la entrada.

Lo más difícil para un desarrollador es reflejar el impacto real de una actualización en todas las funcionalidades básicas de la aplicación. La integración continua puede dar al desarrollador una visión más amplia de la aplicación, ya que las pruebas de la aplicación se realizan en un entorno de clonación.

Palabras clave

  • Construir: Todos los pasos necesarios para compilar y crear, entregables, necesarios para iniciar pruebas (funcional, unidad, HMI, etc.).
  • Confirmar: esta operación permite la validación de actualizaciones del código fuente existente en el directorio de trabajo local de la máquina del desarrollador, a través de una herramienta de administración de configuración (como SVN).
  • Actualización: esta operación permite la actualización desde el repositorio de la herramienta de administración de configuración del directorio local.
  • Checkout: Esta es la operación para extraer una versión de un proyecto en desarrollo desde el repositorio del administrador de configuración a un directorio de trabajo local.

Escenario general

  • El desarrollador se comprometió con el repositorio del administrador de configuración.
  • El servidor de integración detecta el compromiso, hace que Checkout inicia las operaciones de compilación y prueba.
  • En caso de fallo, se genera una notificación al gerente del proyecto y / o al equipo de desarrollo.
  • El desarrollador preocupado por el error realiza una actualización del repositorio de gestión de configuración y corrige la anomalía.

Características generales de un servidor de integración continua.

  • Un servidor de integración continua debería principalmente habilitar:
  • Para realizar operaciones de Checkout del Configuration Manager.
  • Compilando el código fuente
  • La creación del archivo de la aplicación (Ear, Jar, War, ...).
  • El despliegue del archivo en la máquina de prueba.
  • Ejecutar un conjunto de pruebas: JUnit, Cactus, auditoría de código fuente, pruebas de GUI, pruebas funcionales
  • Notificación del resultado: correo, RSS.
  • La creación de informe estadístico.
  • Integración con otras herramientas.

Algunos servidores de integración populares

  • Cruise Control: código abierto y gratuito, conocido, bien documentado, para probar aplicaciones y aplicaciones J2EE. Red. Es la referencia de la integración continua.
  • Hudson: de código abierto y gratuito, se hizo más popular recientemente que Cruise Control puede probar las aplicaciones J2EE. Utilizado por SUN.
  • Continuo: código abierto gratuito soportado por la Fundación Apache.
  • Bambú: opensource, pero debe ser comprado.

Algunos enlaces útiles

  • //www.atlassian.com/software/bamboo/
  • //msdn.microsoft.com/en-us/library/ms364045(VS.80).aspx
  • //c2.com/cgi/wiki?ContinuousIntegration
  • //www.extremeprogramming.org/rules/integrateoften.html
  • //es.wikipedia.org/wiki/Continuous_integration
  • //martinfowler.com/articles/continuousIntegration.html

Notas

Gracias a wjaouadi por este consejo.

Artículo Anterior Artículo Siguiente

Los Mejores Consejos