Я ищу сравнение различных серверов непрерывной интеграции (CI) (особенно ориентированных на .NET) и не могу найти ни одного.
Поэтому я хотел бы знать, что вы думаете о различных доступных решениях, каковы их плюсы и минусы, каковы требования к хостингу и почему CI Server XY является сервером по вашему выбору.
Мне интересны ваши мысли (не стесняйтесь комментировать другие):
- Hudson
- Круиз-контроль
- CruiseControl.NET
- Teamcity
- CIFactory (использует CruiseControl.NET)
Интересные места:
- Конфигурация (простая, гибкая)
- Интеграция с SCM (особенно DSVC, например git или hg)
- Интеграция с системами сборки (MSBuild, NAnt, Rake)
- Интеграция со средами тестирования
- Интеграция с Source Anaylsis (Simian, NDepend, FxCop, NCover и др.)
- WebInterface / Панели мониторинга
- Требования к инфраструктуре
.net
comparison
continuous-integration
Питер Мортенсен
источник
источник
Ответы:
Такой вопрос не будет полным без ссылки на большую матрицу функций CI (веб-архив), в которой перечислены практически все варианты CI.
Но я думаю, что важно заранее понять, что вы хотите включить в свою систему CI. Это будут просто сборки или вы собираетесь добавлять другие элементы, такие как статический анализ, межпроектные зависимости, развертывания, функциональные тесты и т. Д. Чтобы помочь с этим планированием, я создал эту настенную диаграмму на элементах Enterprise CI (PDF ; регистрация не требуется). Пожалуйста, не позволяйте "E-word" сбить вас с толку; Я просто имею в виду вещи, выходящие за рамки базовой сборки CI с быстрой обратной связью. :)
Он не привязан к конкретному инструменту, но содержит список различных практик, которые вы можете рассмотреть на этапах планирования / оценки.
источник
Ничего полезного в:
РЕДАКТИРОВАТЬ : на что указал Джоник в комментарии, я пропустил В чем разница между Hudson и CruiseControl для проектов Java? и Как и зачем мне настроить машину для сборки C #? . Вы найдете очень проницательные ответы. Другими словами, я думаю, что все, что вы ищете, уже есть на Stack Overflow.
источник
В TeamCity есть замечательная функция, позволяющая разработчику выполнить персональную сборку перед фиксацией. Очень полезно!
CruiseControl.NET - это дедушка всей группы, поэтому он немного устарел визуально и т. Д. Поскольку он существует уже некоторое время, Google знает, как исправить многие проблемы, с которыми вы столкнетесь.
По этим причинам (среди прочего) я использую CruiseControl.NET на работе и TeamCity дома и в своей жизни с открытым исходным кодом :)
источник
Я полностью пользуюсь CruiseControl.NET. Мои команды используют его на работе, а я использую его дома для личных проектов.
В частности, CruiseControl.NET позволяет мне выполнять весь процесс CI: сборки, обновление версии, модульные и интеграционные тесты, архивирование исходного кода или кандидата на выпуск, покрытие кода и даже развертывание в нашей тестовой системе на работе. Он легко настраивается, хорошо работает с MSBuild и NAnt и даже имеет расширяемую архитектуру подключаемых модулей.
Он почти делает все, что мне нужно.
Самый большой недостаток: настройка иногда затруднительна и может занять время. Но как только это сделано, это сделано, и, как сказал другой плакат, мне нравится видеть сигнал «успешная сборка», потому что я знаю, что не только сама сборка сработала, но и что все мои модульные и интеграционные тесты прошли успешно.
источник
Team Foundation Build - это вариант, так как он очень хорошо взаимодействует с Team Foundation Server. Это бесплатно, если у вас есть лицензия TFS.
источник
Мы используем Hudson на работе. Основная причина в том, что его очень легко настроить. Вы можете напрямую запустить войну (это исполняемый jar) или развернуть ее в любом сервлет-контейнере. И вы готовы начать. Также Hudson поддерживает множество инструментов и расширяется через систему плагинов.
источник
Мы перешли с CruiseControl.NET на TeamCity в первую очередь из-за простоты настройки. TeamCity также имеет больше функций, но основная причина заключалась в том, что приятный веб-интерфейс проще в использовании, чем файлы конфигурации XML.
РЕДАКТИРОВАТЬ: большинство задач TeamCity будет выполнять из коробки; при необходимости мы используем NAnt.
источник
CruiseControl.NET - это может быть немного сложно настроить (как и большинство систем CI), но с ним стоит продолжать. В настоящее время я настроил его для запуска модульных тестов по завершении сборки и для создания установщиков Wix по запросу. Как сказал Дэн, он выглядит немного устаревшим, но это не имеет значения, поскольку он предоставляет вам много информации, которую легко получить и легко прочитать.
Одно дело - убедитесь, что у всех ваших разработчиков установлен CC Tray, он работает и указывает на свои сборки. Приятно видеть «Еще одна успешная сборка» в панели уведомлений.
источник
Мы используем ccnet на работе, что подходит для большинства наших нужд (у нас около 50 автоматических сборок), но для настройки и исправления требуется один человек.
Если вы начинаете с нуля, обратите внимание на Bamboo. Мы изучили его, и он выглядит действительно многообещающим, но он не полностью соответствует нашим потребностям, и мы потратили слишком много времени на ccnet, чтобы сейчас переключиться на Bamboo.
С Уважением,
Себастьян
источник
Я унаследовал сервер luntbuild. Не лучший вариант для .NET-проекта. Если вы обнаружите, что постоянно возвращаетесь к использованию сервера сборки для выполнения общих задач командной строки, значит, что-то не так. Хороший сервер сборки хорошо понимал выходные данные модульных тестов и задачи msbuild как нечто большее, чем непрозрачные команды, запускаемые при изменении системы управления версиями.
Мне нравится переходить в Team City.
источник
Я новичок в CI-сцене и сосредоточил свои усилия на CruiseControl.NET, используя NAnt и Ivy для создания своих .NET-проектов.
Я обнаружил, что CruiseControl.NET очень легко адаптируется ко многим другим инструментам, таким как NCover / NUnit / и т. Д. Все они подключаются к этому и объединяют результаты для комбинированного процесса сборки.
В ближайшем будущем я буду изучать TeamCity в собственных интересах, но я думаю, что CruiseControl хорошо справляется со своей задачей, но только настолько, насколько хороши ваши сценарии сборки! Если это штаны, то можно ожидать, что ваши сборки будут такими хорошими.
В общем, CruiseControl.NET - хорошее решение, но мне еще предстоит выяснить, насколько хороши конкуренты в сравнении.
источник
Мы довольны Хадсоном . Мне не с чем сравнивать, но настроить и запустить его было просто. Прямо сейчас он собирает только проекты Win32 C ++ и установщик, но мы переносим его на Linux, и он должен работать и с этим.
Без проблем получает репозитории Subversion, рассылает оповещения и т. Д. Пока нам это нравится. Опять же, у нас ограниченный опыт сравнений.
источник
Я работал с CruiseControl.NET, TFS 2012 и TeamCity 7.x в течение нескольких лет, и я считаю, что TeamCity - ЛУЧШИЙ из-за простоты использования, удобного и информативного пользовательского интерфейса и других интересных функций, таких как зависимости сборки и многое другое. Это просто работает, мне это нравится.
источник