Integración continua

De Wikipedia, la enciclopedia libre

La integración continua (continuous integration en inglés) es una metodología informática propuesta inicialmente por Martin Fowler que consiste en hacer integraciones automáticas de un proyecto lo más a menudo posible para así poder detectar fallos cuanto antes. Entendemos por integración la compilación y ejecución de tests de todo un proyecto.

El proceso suele ser, cada cierto tiempo (horas), descargarse las fuentes desde el gestor de versiones (por ejemplo CVS, Subversion o Visual Source Safe o Team Foundation Source Control) compilarlo, ejecutar tests y generar informes.

Para esto se utilizan aplicaciones como Continuum, Hudson, CruiseControl o Anthill (para proyectos Java) o CruiseControl.Net, Team Foundation Build para .Net, que se encargan de controlar las ejecuciones, apoyadas en otras herramientas como Ant o Maven (también para proyectos Java), o Nant o MSBUILD (para .Net) que se encargan de realizar las compilaciones, ejecutar los tests y realizar los informes.

A menudo la integración continua está asociado con las metodologías de programación extrema y desarrollo ágil.

[editar] Ventajas

  • Reducción del tiempo de integración.
  • Detección de errores lo más pronto posible.
  • Pruebas inmediatas tras un cambio en el código.
  • Disponibilidad continua de la última versión del código para test, demos, etc.

[editar] Desventajas

  • Sobrecarga por el mantenimiento del sistema.
  • Necesidad potencial de un servidor dedicado a build.
  • El impacto inmediato al subir código erróneo provoca que los desarrolladores no hagan tantos commits como sería conveniente como copia de seguridad.

[editar] Referencias

Herramientas personales
Crear un libro