2009-09-10 2 views
96

Мы являемся магазином Java, который ищет инструмент CI для использования. Оба Hudson и Teamcity кажутся свободными, но Teamcity выглядит скользкой и с большей поддержкой.Hudson или Teamcity для непрерывной интеграции?

Мне было интересно, почему все еще можно использовать Хадсон, и если кто-нибудь может предоставить какой-либо аргумент для/против?

+0

Вам могут быть интересны ответы здесь: http://stackoverflow.com/questions/1200721/language-agnostic-automated-build-and-test-server-for-multiple-projects –

+0

Я бы бросил CruiseControl в смесь - если вы еще не рассмотрели ее. Не могу комментировать java-точку зрения, используя версию .NET, но мне это нравится. – AdaTheDev

+3

@ire_and_curses Ни один из ответов в сообщении не дает хорошего аргумента для любого инструмента по сравнению с другим – pdeva

ответ

58

+1 для Хадсона.

Хадсон очень активный проект, имеет широкое сообщество пользователей и активные пользователи списка рассылки, очень легко начать, просто в использовании, были использован на огромных, очень огромных, проектах (JBoss , JAX-WS и т. Д.), И, таким образом, доказал успехи, предлагает очень приятные дополнительные функции (например, построить матрицу, сборку кластеров и т. Д.), Является открытым исходным кодом, имеет множество плагинов ...

И если поддержка действительно важная вещь, вы можете получить commercial support from Sun. Но FWIW, я никогда не сталкивался с проблемой блокировки с Хадсоном.

Update: Как вы знаете, Kohsuke Кавагути (создатель Hudson) покинул Sun/Oracle и начал его own companyпринять Hudson к следующему этапу. Другими словами, это не угроза для Хадсона. И если вы ищете поддержку, вы можете получить certified version of Hudson CI Server в рамках плана подписки (эта сертифицированная версия включает в себя высококачественную версию Hudson с предопределенным набором плагинов плюс коммерческий).

Update: Чтобы проиллюстрировать размер их соответствующей пользовательской базы, здесь является сравнение тенденций рабочих мест для нескольких CI инструментов на Indeed (живой запрос):

Hudson build engineer, CruiseControl build engineer, Bamboo build engineer, TeamCity build engineer Job Trends

Это, конечно, не технический индикатор.

+88

Возможно, TeamCity настолько прост в использовании, что не требует, чтобы кто-то специально использовал его для его настройки? – Henrik

+3

@Henrik: Интерпретация приведенного выше графика по вашему усмотрению. Но да, возможно, TeamCity - это волшебство. –

+16

Если вы нанимаете инженера-строителя в полный рабочий день для непрерывной интеграции, теперь у вас есть две проблемы: 1) ваш CI с трудом работает, поэтому ваши разработчики будут бороться с ним, и знания будут сидеть в голове этого человека , 2) Вы платите кому-то за работу, которую не нужно делать! –

110

Команда City - это далеко и далеко лучший сервер CI. Его функция убийцы для меня - это тесная интеграция с IDE (IntelliJ, Eclipse и VisualStudio). Он может показать вам, например, когда файл, который вы редактируете в IDE, устарел, кто изменил его и изменил. Вы можете зафиксировать IDE на сервере CI, запустить компиляцию и тесты в сетке сборки, а затем сервер CI будет зафиксирован, если сборка будет успешной. Вы можете щелкнуть по отчетам о создании в веб-приложении CI и открыть соответствующие файлы в среде IDE.

Доступны плагины (я написал один: http://team-piazza.googlecode.com), но не так много.

+9

Удаленный запуск/Предварительно проверенный фиксация - очень полезные функции TeamCity. В общем, TC может быть более удобным, если ваши сборки не быстрые, потому что в TeamCity вы получаете постоянную обратную связь о том, что происходит в вашей сборке (сколько тестов прошло, не удалось, на каком этапе сборки и т. Д.). Также уведомления TC более сложны. Вы можете настроить различные правила для разных типов сборок и для широкого диапазона уведомлений (электронная почта, Jabber, лоток для Windows). –

+6

@Pavel: Я не знаю TeamCity, а также Hudson, поэтому я не стану оспаривать начало вашего комментария. Но в отношении уведомлений, утверждая, что TC более изощрен, является чистым FUD в моем не очень скромном мнении. Все упомянутые каналы уведомлений доступны на Hudson (вы даже можете добавить твиттер). На самом деле, я уверен, что у Хадсона есть еще больше плагинов, чем TC (проверьте http://wiki.hudson-ci.org/display/HUDSON/Plugins), и я уверен, что у TC больше ограничений, чем у Хадсона. –

+3

Я согласен с каналами (у Хадсона много плагинов), но не согласен с правилами. В TeamCity вы можете подписаться на сборку с вашими изменениями, вы можете выбрать уведомление, когда сборка начнет сбой (например, когда первый тест начнет сбой). Вы можете попросить, чтобы вас уведомили о первой неудачной сборке после последовательности успеха + после первого успеха после сбоев. И эти параметры доступны для всех каналов уведомлений. Одним из таких каналов является идентификатор IDE: когда что-то пойдет не так, вы получите уведомление в своей среде IDE. Насколько я помню, правила уведомления Хадсона были намного проще. –

6

Мне очень понравился Teamcity, но в среде, в которой я работаю, время, необходимое для получения заказа на поставку Teamcity через уровни управления, вероятно, превысило время, необходимое для переноса всего на Hudson.

+10

Профессиональный TeamCity является бесплатным. –

+6

@Pavel, у нас есть более 20 пользователей и многие другие сборки. – sal

+22

@sal меня всегда поражает, как компании могут быть настолько обеспокоены более чем двумя тысячами долларов за инструменты своих разработчиков, и предпочли бы, чтобы они тратили 100 часов в комбинированных часах, которые они не имели бы с инструментом. –

14

TeamCity замечательный, потому что он позволяет каждому разработчику иметь собственный профиль сборки и подключаться к нему со своей IDE. То, что одинокий - это «удар». Существует также поддержка GIT и т. Д. Серьезно взгляните на нее. Профессиональная версия бесплатна.

+5

GIT также поддерживается Jenkins/Hudson – CJBrew

1

Я только начинаю привыкать к хадсону, готовому экспериментировать, и посмотреть, как он будет вписываться в нашу нынешнюю среду. У меня абсолютно нет опыта работы с Teamcity, поэтому я не могу комментировать это, но до сих пор мне нравится работать с hudson.

Есть много плагинов для hudson плюс сайт hudson дает вам много советов для написания собственных (http://wiki.hudson-ci.org/display/HUDSON/Extend+Hudson).

16

Мы начали с Hudson для нескольких проектов Flex, затем мы перенесли на TeamCity, когда разработчики .NET присоединились к нашим усилиям CI. Теперь мы снова заменили сервер TeamCity, вернемся к Хадсону. Основные причины: - Живое сообщество Гудзонов, лучше, чем поддержка. - Огромное количество плагинов для всех задач. - Открытый источник. - Hudson бесплатно, TeamCity доступен только для 10 проектов.

Редактировать: TeamCity теперь бесплатна для 20 проектов.

+2

10 ограничений проекта упали, единственным ограничением теперь является 20 конфигураций сборки. Для проектов малого и среднего размера, возможно, достаточно. – ashwoods

+4

Из любопытства, какие функции, доступные через плагины Дженкинса, отсутствовали в мире TeamCity? – Behrang

13

Самый большой аргумент против Хадсон в том, что каждый выпуск содержит новые ошибки.

Релизы очень часто, поэтому вам нужно часто обновляться, чтобы не отставать. Это означает, что вам нужно потратить много времени на диагностику проблем и возврат к предыдущим релизам Hudson. (Иногда откат даже невозможен!)

Мы представляем Continuous Deployment в нашем магазине (когда вы проверяете код, он развертывается на реальном сайте!), И необходимость бороться с Хадсоном слишком дорого стоит нам ,

Мы активно рассматриваем переход на TeamCity исключительно из-за стоимости ошибок Хадсона.

+8

Просто потому, что доступно обновление, это не значит, что вы должны обновить его. Я бы предпочел, чтобы они выпускали больше, чем реже. Это мой выбор, когда нужно обновлять, и я, конечно, не делаю этого каждую неделю. Кроме того, сопровождающие компании очень консервативны в отношении обратной совместимости. Для работы плагинов обычно не требуется последний Hudson. На самом деле, теперь доступно 130 плагинов, выпущенных против версий Hudson, которым больше года. Если вы все еще обеспокоены, в работах есть автоматический плагин отката.;) –

+1

По моему опыту проблема связана с плагинами, чем сам Хадсон, хотя это не сильно отличается от точки пользователя Посмотреть. Но * ничего * заставляет вас обновлять, если вы не сталкиваетесь с определенной ошибкой или не можете жить без новой функции. Мы просто не следим за каждым выпуском и не используем окончательную версию, это не проблема для нас: * «Если он не сломался, не исправляйте его» *. –

+2

Когда главный коммиттер отправляет сообщение о том, что основной недостаток безопасности исправлен, это причина обновления. Моя точка еще стоит: Хадсон просто слишком изящный - даже без дополнительных плагинов. – jdtangney

1

Я рекомендую клиентам, чтобы они рассматривали Bamboo. Причина в том, что (ок, от чтения спецификаций!) У него очень похожая особенность, установленная на TeamCity. Однако основным преимуществом является очень тесная интеграция с JIRA, которая довольно популярна как система отслеживания характеристик/ошибок. Полный набор - JIRA, Greenhopper, Bamboo и Eclipse. У многих клиентов также есть центр качества HP, и есть плагины, которые также присоединяются к JIRA. Мне также нравится тот факт, что JIRA, Bamboo и GreenHopper все исходят от атласа.

+0

После обширного использования TeamCity, Дженкинс выглядит очень голым. Да, плагины позволяют вам делать что-либо, как только вы их устанавливаете. У TeamCity есть зрелый набор функций, который заставит вас выйти из коробки. Тем не менее, на уровне непрерывной доставки оба оставляют надлежащим промежуточным трубопроводом незавершенным. QuickBuild - еще более многофункциональный продукт, заслуживающий внимания, это платная реклама. – bbaassssiiee

+0

Теперь, увидев Bamboo в действии на клиентском сайте, я больше не очень увлекаюсь этим. Есть несколько областей вокруг сценариев и передачи информации между сборками, которые она изо всех сил пытается сделать. Результаты, как правило, являются разработчиками, вкладывающими всевозможные вещи в область глобальных переменных CI, которых просто не должно быть. – drekka

2

Я использовал и установил TeamCity и Jenkins (иначе новый Hudson) до и в то время как я согласен с тем, что TeamCity - много slicker, чтобы настроить его, только для команд из 10 пользователей или меньше. Обе системы очень просты в настройке и имеют плагиновую систему, которая хорошо поддерживается. Функция Killer в TeamCity - это рабочий процесс предварительной проверки, где вы можете протестировать код, прежде чем проверять его на исходный контроль, а тонкость Jenkins заключается в том, что он полностью свободен, даже если вы выходите за пределы 10 пользователей и агентов сборки.

+0

Также мне нравится графическое представление Дженкинса, и это то, чего мне не хватает в Teamcity. Futher Я согласен с вашим комментарием! – Gynnad

+0

Если вы согласны с комментарием, проголосуйте за него :) –