Лично я когда-либо использовал только CruiseControl и CruiseControl.Net. Причина этого связана с экономикой. Они достаточно стабильны, и как только вы их настроите, вам мало что нужно будет сделать, чтобы сохранить их. Сообщество пользователей обычно очень полезно, и оно может быть расширено для ваших нужд.
Тем не менее, есть несколько коммерческих предложений, которые мне известны (одно от JetBrains, другое от Atlassian), которые предлагают лучший опыт настройки и коммерческую поддержку. Я хотел попробовать эти предложения, но на самом деле еще не было возможности.
Инструменты CI играют более важную роль в компилируемых языках, чем в интерпретируемых языках, но это не значит, что инструмент CI расходуется на интерпретируемые языки. Когда у вас есть несколько проектов, которые зависят друг от друга, и вы хотите убедиться, что изменение не нарушает случайно его зависимости - инструменты CI неоценимы.
Существует три основных класса проблем, которые инструменты CI могут вам помочь:
- Ошибки компиляции - если сигнатура класса изменяется таким образом, что нарушает зависимости, лучше знать об этом до наступления часов доставки.
- Логические ошибки - если поведение класса изменяется таким образом, что нарушает зависимости, лучше знать об этом заранее. Это должно быть проверено каким-то автоматическим тестированием, чаще всего модульным тестированием.
- Приемочное тестирование - если у вас есть автоматизированный набор тестов для запуска готового продукта, лучше запускать их часто.
Интерпретированные языки не компилируются, поэтому нет ошибок компиляции. Однако две другие проблемы достаточно распространены, так что инструменты CI полезны для проектов в Ruby / Python / Perl / etc.
Ключевое слово в логических ошибках и точках приемочного тестирования - «автоматическое» тестирование. Если у вас нет набора тестов, которые машина может запустить, то вы действительно упускаете большие преимущества инструментов CI. Автоматизированные наборы могут быть построены со временем, так что вы можете начать с малого.
редактировать
Смотрите этот хороший график для сравнения функций большого количества инструментов CI (о многих из которых я не знал):
http://confluence.public.thoughtworks.org/display/CC/CI+Feature+Matrix