CruiseControl.NET (впредь cc.net) имеет очереди сборки (http://confluence.public.thoughtworks.org/display/CCNET/Project+Configuration+Block),, что позволяет вам сериализовать сборки, зависящие от определенного порядка сборки. Я нахожусь в процессе эмуляции этого поведения в версии Java из cruisecontrol, но функциональность не сопоставляется один к одному. Однако причина, по которой я вообще перехожу с .net на версию java, заключается в том, что ядро версии .net выдает дамп с помощью mono (cc.net nightly build и mono ночная сборка, как два месяца назад). Ошибка связана с обработкой моно-потока, но пустота пытается запустить и запустить cc.net.
Документация по этому может быть сложно найти, если вы не замечаете номера версий, которых придерживаются примеры / документация по конфигурации (confluence.public.thoughtworks.org имеет обновленную документацию по конфигурации, тогда как ccnet.sourceforge.net имеет нет. Я знаю, что ccnet, скорее всего, является мертвым сайтом, но если вы не внимательно читаете метки даты на каждой странице, которую вы посещаете, это может вас укусить).
Кроме того, блоки sourcecontrol для cvs и svn в cc.net являются более детальными и функциональными, чем их аналог в java-версии, но это не было проблемой в моей работе. Java-версия также легко расширяет / изменяет поведение re: plugin, но вам бы очень хотелось увидеть, как эта работа идет вверх по течению, а не разветвляется.
Я впечатлен как java-версией, так и разветвлением в .net (по модулю mono runtime-поведение), но вы действительно не хотите пробовать какие-либо другие форки круиз-контроля. У меня был периферийный опыт работы с Hudson, и функции были недостаточно убедительными, чтобы отвлечь меня от круиз-контроля. У Хадсона есть (несколько цветная) карта сравнения Хадсона и CruiseControl (java) в http://hudson.gotdns.com/wiki/display/HUDSON/Home
Жизнеспособной альтернативой является реализованный на python buildbot (http://buildbot.net/trac).. Он не имеет причудливых панелей управления графическим интерфейсом, и установка несколько более привязана к командной строке, но если вы работаете с распределенными сборками, очень легко настроить и беги.