Atualmente, usamos o servidor uma vez cc.net para nosso processo de compilação, que cria .net (usando msbuild & nant) e java (usando maven e ant).
O CC.net monitora o controle de origem e aciona uma compilação remota em execução em um servidor separado. O CC.net reúne os resultados.
Quando executamos a compilação remota, normalmente:
- executa unidade ou junit ou similar usando dados simulados
- opcionalmente, executa um script de banco de dados para criar uma nova instância de banco de dados ou restaurar um banco de dados de uma posição conhecida.
- executa selênio ou similar para testar a interface do usuário
- executa emma ou ncover para cobertura de código
- constrói o sistema para vários ambientes de implementação (teste, aceitação, produção)
Podemos ter várias compilações em execução ao mesmo tempo, algumas .net e algumas java (de diferentes equipes de projeto).
É bastante demorado para que as compilações remotas funcionem quando configuramos um novo projeto e achamos que deve haver algo mais adequado para compilações remotas do que o cc.net.
Alguém tem alguma experiência com compilações remotas com sistemas de integração contínua?
Eu realmente não quero listas de recursos de servidores de CI, gostaria mais de saber como você os usou em um ambiente com vários servidores e vários idiomas.