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) compilarlo, ejecutar tests y generar informes.
Para esto se utilizan aplicaciones como Continuum, CruiseControl o Anthill (para proyectos Java) o CruiseControl.Net para .Net, que se encargan de controlar las ejecuciones, apoyadas en otras herramientas como Ant o Maven (también para proyectos Java), o Nant (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.
- Reducción del tiempo de integración.
- Detección de errores los más pronto posible.
- Testeos inmediatos 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
- Artículo de Martin Fowler
- Pragmatic Automation: Libro o Web

