В настоящее время мы используем один раз сервер cc.net для нашего процесса сборки, который собирает как .net (используя msbuild & nant), так и java (используя maven и ant).
CC.net контролирует управление исходным кодом и запускает удаленную сборку, запущенную на отдельном сервере. Затем CC.net сопоставляет результаты.
Когда мы запускаем удаленную сборку, это обычно:
- работает nunit или junit или аналогичные с использованием поддельных данных
- При желании запускается сценарий БД для создания нового экземпляра базы данных или восстановления базы данных с известной позиции.
- запускает селен или похожий на тестовый интерфейс
- запускает emma или ncover для покрытия кода
- строит систему для различных сред развертывания (тестирование, приемка, производство)
У нас может быть запущено несколько сборок одновременно, некоторые .net и некоторые java (из разных проектных команд).
Когда мы настраиваем новый проект, работа удаленных сборок занимает много времени, и мы считаем, что для удаленных сборок должно быть что-то более подходящее, чем cc.net.
У кого-нибудь есть опыт работы с удаленными сборками с системами непрерывной интеграции?
Мне не нужны списки возможностей CI-серверов, я был бы рад услышать о том, как вы использовали их в многоязычной, многосерверной среде.