Sistema de Integración Continua, en Paas y con CI Factory
A la hora de desarrollar un nuevo proyecto, es conveniente contar con un Sistema de Integración Continua. Ese ayudará a paliar los malos tragos del desarrollador y que el proceso de desarrollo se produzca de una forma mucho más eficiente. Aunque a veces da pereza o se encuentren obstáculos a la hora de preparar un sistema CI; es más que aconsejable contar con una solución de servidor CI fiable y que funcione a pleno rendimiento.
Un programador con experiencia puede tardar un par de días en tener un servidor de Integración Continua activo y en funcionamiento. Pero esta misma tarea podría llevarle semanas a un neófito, o a cualquiera con unos conocimientos técnicos limitados. Para que todo sea mucho más sencillo, existen numerosas fuentes de recursos, wikis y blogs de expertos que van a ser de gran ayuda en el tema. Para acotar un poco esa búsqueda, os queremos mostrar algunas de las opciones disponibles en torno a la puesta en marcha de un sistema CI utilizando para ello diferentes aplicaciones.
Poniendo en marcha un sistema CI
Actualmente, el servidor CI más conocido, o mejor valorado es Hudson. Esto se debe principalmente a su carácter open source, pero hay muchas más aplicaciones disponibles. Esta enorme variedad de herramientas permite que cada equipo elija la que más le convenga. Por ejemplo, en este wiki se expone de una forma bastante limpia el proceso y cuáles son los factores a tener en cuenta a la hora de plantearse el tema, pero es tan solo un esquema. O, en este post en el que se explica cómo montar un entorno sencillo para ir introduciéndose en el tema.
Por otro lado, en el blog de Engine Yard AppCloud también explican de una forma bastante amena, incluyendo un vídeo, cómo integrar el servidor CI Hudson en su pataforma AppCloud; una fantástica herramienta PaaS. Además, sería interesante comparar los pasos que nos explican estos chicos con un caso que podamos tener en otra Paas. Como por ejemplo puede ser la de Salesforce.
En este otro ejemplo, el autor crea primero un servidor CI con CruiseControl Red, MSBuild 2.0, MbUnit y WatiN. Para después compararlo con una aplicación mucho más sencilla y de código abierto: CI Factory.
Finalmente, en el blog de Ángel Lázaro, vemos cómo ha desarrollado un plugin de maven que permite a los desarrolladores, tras compilar el módulo, desplegarlo en OpenCms automáticamente. De esta manera permite contar con un portal OpenCms en integración continua.
Como puedes ver, hay múltiples formas de poner en marcha un sistema CI. Solo tendrás que elegir la que prefieras y crear tu propio sistema de integración continua en tus nuevos desarrollos.