::Gustavo Proto::
Creo que la mayoría de quienes trabajamos en TI sabemos o hemos escuchado sobre
Integración Continua. La utilizamos para desarrollar GeneXus, y sabía que podría utilizarla en un entorno de desarrollo GeneXus pero nunca lo había intentado. ¡Lo hice y es fantástica!
Tenemos una aplicación interna para rastrear temas almacenados en un
GXserver interno. Cualquiera puede realizar cambios (y es responsable de esos cambios) pero yo soy el "encargado" de mantenerla actualizada con las últimas versiones de los builds de GeneXus. Esto es, cada vez que un build de GeneXus se completa con éxito trato de utilizarlo para hacer un build de la aplicación. No pude lograr ese objetivo, por supuesto.
Cuando comenzamos a desarrollar la aplicación escribí un
GeneXus MSbuild para automatizar todas las tareas que necesitaba realizar. Sin embargo, debo estar al tanto de cualquier nuevo build exitoso de GeneXus y tener tiempo para ejecutar las tareas MSBuild. Terminé ejecutándolas una vez al día o... cada vez que podía.
Con un poco de ayuda de
Gastón comencé a explorar el
Cruise Control. Es la herramienta basada en web que utilizamos para la integración continua con GeneXus. No es muy fácil de aprender (detesto los lenguajes parecidos al XML) pero tampoco es tan difícil. ¡Con unas pocas modificaciones a un DSL basado en XML, los resultados son increíbles!
¿Qué obtuve por aproximadamente 4 horas de mi tiempo?
• Automatización (es decir, no tener que acordarme de ejecutar los scripts)
• Detección temprana de bugs
• Administración de tareas basada en la web (no más líneas de comando)
Aún cuando mi escenario no es el más común (tal vez usted no tenga que lidiar frecuentemente con nuevas versiones de GeneXus), creo que la Integración Continua y GeneXus Server valen la pena. ¡Pruébelos!
* Publicado por Gustavo Proto en GP@GX