Сравнение CI-серверов?
Я ищу сравнение разных
непрерывная интеграция (CI) Серверы (особенно фокусировка
на .NET) и не удалось найти.
Поэтому я хотел бы знать, что вы думаете о
доступны различные решения, каковы плюсы и минусы,
какие требования к хостингу и почему CI Server XY является
Сервер по вашему выбору.
Меня интересуют ваши мысли (не стесняйтесь комментировать
другие):
Достопримечательности:
- Конфигурация (простая, гибкая)
- Интеграция с SCM (особенно DSVC, например git или hg)
- Интеграция с системами сборки (MSBuild, NAnt, Rake)
- Интеграция с платформами тестирования
- Интеграция с источником Anaylsis (Simian, NDepend, FxCop, NCover и т.д.).
- WebInterface/Сводки
- Требования к инфраструктуре
Ответы
Ответ 1
Никаких вопросов, подобных этому, не будет завершена без ссылки на большую CI Feature Matrix (Web Archive), в которой перечислены все параметры CI.
Но я думаю, что важно заглянуть в рамки того, что вы хотите включить в свою систему CI. Это будет просто сборка или вы собираетесь использовать другие элементы, такие как статический анализ, кросс-проектные зависимости, развертывания, функциональные тесты и т.д. Чтобы помочь в этом планировании, я создал эту настенную диаграмму на Элементы Enterprise CI (PDF; регистрация не требуется). Пожалуйста, не позволяйте "E-word" отпустить вас; Я просто имею в виду вещи, выходящие за рамки базовой быстрой сборки CI обратной связи.:)
Это не инструмент, но перечисляет множество методов, которые вы могли бы рассмотреть, находясь на этапах планирования/оценки.
Ответ 2
Ничего не полезно в:
РЕДАКТИРОВАТЬ: A, отмеченный Джоником в комментарии, я пропустил В чем разница между проектами Hudson и CruiseControl для Java? и Как и почему я устанавливаю машину сборки С#?. Вы найдете очень проницательные ответы. Другими словами, я думаю, что все, что вы ищете, уже включено в Stack Overflow.
Ответ 3
TeamCity имеет замечательную особенность, позволяющую разработчику выполнить личную сборку перед фиксацией. Очень полезно!
CruiseControl.NET - дедушка из группы и, следовательно, немного датирован визуально и т.д. Как это было давно, Google знает, как исправить множество проблем, с которыми вам придется столкнуться.
По этим причинам (среди прочих) я использую CruiseControl.NET на работе и TeamCity дома и в моей жизни с открытым исходным кодом:)
Ответ 4
Я весь пользователь CruiseControl.NET. Мои команды используют его на работе, и я использую его дома для личных проектов.
В частности, CruiseControl.NET позволяет мне запускать весь процесс CI: сборка, обновление версии, тестирование модулей и интеграции, архивирование источника или кандидата на выпуск, покрытие кода и даже развертывание нашей тестовой системы на работе. Он очень настраиваемый, хорошо работает с MSBuild и NAnt и даже имеет расширяемую архитектуру подключаемого модуля.
Это в значительной степени делает все, что мне нужно.
Самый большой недостаток: конфигурация иногда является болью и может занять время. Но как только это было сделано, это было сделано, и, как сказал другой плакат, мне нравится видеть сигнал "успешной сборки", потому что я знаю, что работа над самой сборкой не только работала, но и то, что мои тесты на единицу и интеграцию прошли успешно.
Ответ 5
Team Foundation Build - это вариант, который хорошо взаимодействует с Team Foundation Server. Это бесплатно, если вы уже давно лицензировали TFS.
Ответ 6
CruiseControl.NET - это может быть немного больно, чтобы настроить (как и большинство систем CI), но с этим стоит заглядывать. В настоящее время я настроен на запуск модульных тестов по завершению сборки, а также для установки установщиков Wix по требованию. Как сказал Дэн, это выглядит немного устаревшим, но это не имеет значения, поскольку оно предоставляет вам множество информации, которую легко получить и легко прочитать.
Одна вещь - убедитесь, что у всех ваших разработчиков установлен CC Tray, работает и указывается на их сборки. Это отличное чувство, чтобы получить "Еще одну успешную сборку" в вашем лотке уведомлений.
Ответ 7
Мы используем Хадсона на работе. Основная причина в том, что его очень легко настроить. Вы можете напрямую выполнить войну (это исполняемый банку) или развернуть ее в любом контейнере сервлетов. И вы готовы начать. Также Хадсон поддерживает множество инструментов и расширяется через плагиновую систему.
Ответ 8
Мы переключились с CruiseControl.NET на TeamCity в первую очередь из-за простоты настройки. TeamCity также имеет больше возможностей, но основная причина заключалась в том, что хороший веб-интерфейс проще в использовании, чем файлы конфигурации XML.
EDIT: большинство задач TeamCity будут делать из коробки; при необходимости мы используем NAnt.
Ответ 9
Я новичок в CI-сцене, и я сосредоточил свои усилия на CruiseControl.NET, используя NAnt и Ivy для создания моих проектов .NET.
Я обнаружил, что CruiseControl.NET очень адаптируется к множеству других инструментов, таких как NCover/NUnit/etc. Все они подключаются к этому и интегрируют результаты для комбинированного процесса сборки.
В ближайшем будущем я буду изучать TeamCity для своих собственных интересов, но я думаю, что CruiseControl отлично справляется, но только так хорошо, как ваши скрипты сборки! Если это брюки, тогда ваши сборки могут только быть хорошими.
Но, в общем, CruiseControl.NET - хорошее решение, но мне еще предстоит выяснить, насколько хороша конкуренция в сравнении.
Ответ 10
Мы используем ccnet на работе, что отлично подходит для большинства наших потребностей (у нас есть около 50 автоматических сборок), но для его полной настройки и фиксации нужен один человек.
Если вы начинаете с нуля, пожалуйста, взгляните на Bamboo. Мы рассмотрели это, и это выглядит действительно многообещающим, но это не полностью соответствует нашим потребностям, и мы вложили слишком много времени в ccnet, чтобы переключиться на Bamboo сейчас.
Привет,
Sebastiaan
Ответ 11
Я унаследовал сервер luntbuild. Не очень хороший вариант для .NET-проекта. Если вы обнаружите, что постоянно возвращаетесь к использованию сервера сборки для выполнения общих задач командной строки, то что-то не так. Хороший сервер сборки хорошо разбирался в выводах модульных тестов и задачах msbuild, поскольку больше, чем непрозрачные команды, которые должны выполняться при изменении исходной системы управления.
Мне нравится мигрировать в Team City.
Ответ 12
Мы довольны Hudson. Мне нечего сравнивать, но было легко настроить и запустить. Сейчас он только строит проекты Win32 С++ и установщик, но мы портируем Linux, и он также должен работать с этим.
Получает Subversion репозитории без каких-либо проблем и оповещений по электронной почте и т.д. Нам это нравится. Опять же, у нас ограниченный опыт сравнений.
Ответ 13
Я работаю с CruiseControl.NET, TFS 2012 и TeamCity 7.x в течение нескольких лет, и я считаю, что TeamCity является ЛУЧШИМ из-за простоты использования, удобного и информативного интерфейса и других интересных функций, таких как зависимости сборки и многие Больше. Это просто работает, мне это нравится.