Сравнение серверов CI? [закрытый]
Я ищу для сравнения различных непрерывная интеграция (CI) серверы (esp. фокусировка на .NET) и не смог найти ни одного.
поэтому я хотел бы знать, что вы думаете о доступны различные решения, каковы плюсы и минусы, каковы требования к хостингу и почему CI Server XY сервер на ваш выбор.
Мне интересны ваши мысли (не стесняйтесь комментировать другие к):
- Гудзон
- CruiseControl
- CruiseControl.NET
- Teamcity
- CIFactory (использует CruiseControl.NET)
достопримечательности:
- конфигурация (легкая, гибкая)
- интеграция с SCM (esp. DSVC как git или hg)
- интеграция с системами сборки (MSBuild, NAnt, Грабли)
- интеграция с фреймворками тестирования
- интеграция с Anaylsis источник (Мартышка, вопросом, что происходит, FxCop, NCover и т. д.)
- WebInterface / Dashboards
- требования к инфраструктуре
13 ответов:
ни один вопрос, как это не является полным без ссылки на большой CI Feature Matrix (Web Archive) который перечисляет почти каждый вариант CI там.
но я думаю, что важно смотреть вперед на объем того, что вы хотите включить в свою систему CI. Это будет просто сборка или вы собираетесь вводить другие элементы, такие как статический анализ, межпроектные зависимости, развертывания, функциональные тесты и т. д. Чтобы помочь с этим планированием я создал этот настенная диаграмма на элементы Enterprise CI (PDF; регистрация не требуется). Пожалуйста, не позволяйте "E-word" откладывать вас; я просто имею в виду вещи за пределами базовой быстрой обратной связи CI build. :)
Это не конкретный инструмент, но перечисляет различные практики, которые вы можете рассмотреть, пока находитесь на этапах планирования/оценки.
ничего полезного в:
- что-нибудь лучше, чем CruiseControl для .NET CI?
- Серверы Непрерывной Интеграции
- Hudson или Teamcity для непрерывной интеграции?
- каков ваш опыт работы с поддержкой CI server git (Windows)?
- язык-агностический автоматизированный сервер сборки и тестирования для нескольких проектов
- выборе правильный сервер CI для моих нужд.
- круиз против TeamCity против CruiseControl.NET
- CruiseControl [.NET] vs TeamCity для непрерывной интеграции?
- etc, etc, etc
EDIT: a указал Йоник в комментарии, я пропустил в чем разница между Hudson и CruiseControl для Java проектов? и как и почему я настраиваю сборку C# машина?. Вы найдете очень проницательные ответы. Другими словами, Я думаю, что все, что вы ищете, уже находится на переполнении стека.
TeamCity имеет замечательную функцию, позволяющую разработчику выполнить личную сборку перед фиксацией. Очень полезно!
CruiseControl.NET является дедушкой группы и, следовательно, немного датируется визуально и т. д. Как это было вокруг в течение некоторого времени, Google знает, как исправить многие проблемы, с которыми вы столкнетесь.
по этим причинам (среди прочих), я использую CruiseControl.NET на работе и TeamCity дома и в моей жизни с открытым исходным кодом :)
Я a CruiseControl.NET пользователь полностью. Мои команды используют его на работе, а я использую его дома для личных проектов.
в частности, CruiseControl.NET позволяет мне выполнить весь процесс CI: сборки, обновление версии, модульные и интеграционные тесты, архивирование исходного кода или кандидата на выпуск, покрытие кода, даже развертывание в нашей тестовой системе на работе. Он легко настраивается, хорошо работает с MSBuild и NAnt и даже имеет расширяемую архитектуру плагина.
Это в значительной степени делает все, что мне нужно.
самый большой недостаток: конфигурация иногда и боль, и может занять некоторое время. Но как только это будет сделано, это будет сделано, и, как сказал другой плакат, мне нравится видеть сигнал "успешная сборка", потому что я знаю, что не только сама сборка работает, но и то, что все мои модульные и интеграционные тесты прошли успешно.
Team Foundation Build Это вариант, а также он очень хорошо взаимодействует с Team Foundation Server. Это бесплатно до тех пор, пока вы лицензировали TFS.
мы используем Хадсон на работе. Главная причина в том, что он очень прост в установке. Вы можете непосредственно выполнить war (это исполняемый jar) или развернуть его в любом сервлете-контейнере. И вы готовы начать. Также Hudson поддерживает множество инструментов и расширяется через его плагин-систему.
мы переключились с CruiseControl.NET к TeamCity в первую очередь из-за простоты настройки. TeamCity также имеет больше возможностей, но основной причиной было то, что хороший веб-интерфейс проще в использовании, чем файлы конфигурации XML.
EDIT: большинство задач TeamCity будет делать из коробки; при необходимости мы используем NAnt.
CruiseControl.NET -это может быть немного больно, чтобы настроить (как и большинство систем CI), но это стоит настойчиво. В настоящее время я настроил его для запуска модульных тестов по завершении сборок и для производства установщиков Wix по требованию. Как сказал Дэн, он выглядит немного устаревшим, но это не имеет значения, поскольку он предоставляет вам много информации, которую легко получить и легко прочитать.
одна вещь-убедитесь, что все ваши разработчики имеют CC лоток установлен, работает и указывает на их опирающийся. Это отличное чувство, чтобы получить "еще одну успешную сборку" в вашем лотке уведомлений.
мы используем ccnet на работе, что отлично подходит для большинства наших потребностей (у нас есть около 50 автоматизированных сборок), но ему нужен один человек для полной настройки и исправления.
Если вы начинаете с нуля, пожалуйста, обратите внимание на бамбук. Мы изучили его, и он выглядит действительно многообещающим, но он не полностью соответствует нашим потребностям, и мы инвестировали слишком много времени в ccnet, чтобы переключиться на Bamboo сейчас.
с уважением,
Себастиан
я унаследовал сервер luntbuild. Не очень хороший вариант для проекта .NET. Если вы обнаружите, что постоянно возвращаетесь к использованию сервера сборки для выполнения общих задач командной строки, то что-то не так. Хороший сервер сборки хорошо понимал выходные данные модульных тестов и задачи msbuild как более чем непрозрачные команды, которые будут выполняться при изменении системы управления версиями.
Мне нравится мигрировать в Team City.
Я довольно новичок в CI-сцене, и я сосредоточил свои усилия на CruiseControl.NET, используя NAnt и Ivy для создания моих проектов .NET.
Я нашел это CruiseControl.NET очень легко адаптируется к множеству других инструментов, таких как NCover/NUnit/etc. Все они подключаются к этому и интегрируют результаты для комбинированного процесса сборки.
Я буду смотреть в TeamCity в ближайшем будущем для моих собственных интересов, но я думаю, что CruiseControl делает хорошую работу, но только как хорошо как ваши билд-скрипты! Если это брюки, то ваши сборки могут быть только такими хорошими.
но в целом, CruiseControl.NET это хорошее решение, но мне еще предстоит выяснить, насколько хороша конкуренция в сравнении.
с Гудзон. Мне не с чем сравнивать, но это было просто настроить и запустить. Сейчас он только строит проекты Win32 C++ и установщик, но мы портируем на Linux, и он также должен работать с этим.
получает Subversion репозитории без каких-либо проблем и рассылок предупреждений и т. д. Пока нам это нравится. Опять же, у нас есть ограниченный опыт сравнения.
Я работал с CruiseControl.NET, TFS 2012 и TeamCity 7.x в течение нескольких лет, и я считаю, что TeamCity является лучшим из-за его простоты использования, удобного и информативного пользовательского интерфейса и других интересных функций, таких как зависимости от сборки и многое другое. Это просто работает, я люблю его.