Исходя из личного опыта по предложению CruiseControl - помните, что это "интегрированная среда" непрерывной интеграции. Это не решит все ваши проблемы "из коробки" (сборка по компонентам, запуск при каждом изменении компонента и сериализованные сборки, хотя и улучшат ситуацию). Потребуется определенная настройка (и, возможно, даже настройка), чтобы получить все, как вы хотите, так что будьте готовы потратить некоторое время. Конечно, вы получите огромную отдачу в долгосрочной перспективе, если время сборки сократится - если вы больше не можете игнорировать проблему, стоит потратить некоторое время на лучшее решение CI.
Имейте в виду, что любое усилие CI является настолько же эффективным, насколько и ваши политики. У нас были огромные пробелы в политике, когда речь шла о маркировке версий, выпусках, зависимостях, бета-версиях двоичных файлов, сборках архивирования ... и многих других проблемах, которые мы даже не рассматривали в то время.
Кроме того, будьте готовы посвятить хотя бы некоторые ресурсы для поддержания вещи. Это не работа на полный рабочий день (и я, например, люблю ее выполнять, поскольку она постоянно совершенствует процессы). Наши настройки позволили нам перейти от двухчасовой монолитной сборки нашего первого продукта к более чем 400 компонентам в 20 продуктах, которые собираются параллельно на нескольких компьютерах в течение примерно 20 минут, поэтому оно того стоит.