Actualmente utilizamos una vez el servidor cc.net para nuestro proceso de compilación, que construye tanto .net (usando msbuild & nant) como java (usando maven y ant).
CC.net monitorea el control de origen y desencadena una compilación remota que se ejecuta en un servidor separado. CC.net luego recopila los resultados.
Cuando ejecutamos la compilación remota, normalmente:
- ejecuta nunit o junit o similar utilizando datos simulados
- opcionalmente ejecuta un script de base de datos para crear una nueva instancia de base de datos o restaurar una base de datos desde una posición conocida.
- ejecuta selenio o similar para probar la interfaz de usuario
- ejecuta emma o ncover para la cobertura del código
- construye el sistema para varios entornos de implementación (prueba, aceptación, producción)
Es posible que tengamos varias compilaciones ejecutándose a la vez, algunas .net y algunas Java (de diferentes equipos de proyecto).
Hacer que las compilaciones remotas funcionen es bastante lento cuando configuramos un nuevo proyecto y creemos que debe haber algo más adecuado para las compilaciones remotas que cc.net.
¿Alguien tiene alguna experiencia con compilaciones remotas con sistemas de integración continua?
Realmente no quiero listas de características de los servidores de CI, agradecería saber cómo los ha utilizado en un entorno de varios idiomas y servidores.