Хадсон або Teamcity для постійної інтеграції? [зачинено]


100

Ми - магазин Java, який шукає інструмент CI для використання. І Хадсон, і Teamcity здаються вільними, але Teamcity здається стрункішим і з більшою підтримкою.

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


Ви можете бути зацікавлені в відповідях тут: stackoverflow.com/questions/1200721 / ...
ire_and_curses

Я б кинув CruiseControl у суміш - якщо ви цього ще не вважали. Не можу коментувати точку зору Java, використовуючи версію .NET, але мені це подобається.
AdaTheDev

3
@ire_and_curses жодна з відповідей у ​​дописі не дає гарного аргументу для будь-якого інструменту порівняно з іншим
pdeva

4
-1 для круїз-контролю - ЗАБЕЗПЕЧИТИ занадто багато файлів конфігурації, які потрібно налаштувати вручну "просто так".
Беван

3
Наскільки я бачу, існування безкоштовного TeamCity робить CruiseControl неіснуючим. Я не бачу жодної причини використовувати CruiseControl над TeamCity. І багато причин для зворотного.
Niall Connaughton

Відповіді:


113

Team City - це далеко не найкращий сервер CI там. Його вбивчою рисою для мене є тісна інтеграція з IDE (IntelliJ, Eclipse та VisualStudio). Це може показати вам, наприклад, коли файл, який ви редагуєте в IDE, стає застарілим, хто його змінив і що вони змінили. Ви можете здійснити передачу даних з IDE на сервер CI, запустити компіляцію та тести на сітці збірки, а потім CI-сервер здійснить, якщо збірка успішна. Ви можете натиснути на звіти про збірку у веб-додатку CI, і він відкриє відповідні файли в IDE.

Є плагіни (я написав один: http://team-piazza.googlecode.com ), але не багато.


9
Віддалений запуск / попередньо перевірений фіксатор - дуже корисні функції TeamCity. Загалом, TC може бути зручнішим, якщо ваші збірки не швидкі, тому що в TeamCity ви отримуєте постійний зворотній зв'язок про те, що відбувається у вашій збірці (скільки тестів пройшло, не вдалося, на якому етапі збирання і так далі). Також повідомлення ТК є більш складними. Ви можете налаштувати різні правила для різних типів складання та для широкого кола сповіщувачів (електронна пошта, Jabber, вікно лотка).
Павло Шер

6
@Pavel: Я не знаю TeamCity так само добре, як Хадсон, тому я не оскаржуватиму початок вашого коментаря. Щодо сповіщень, стверджувати, що TC є більш досконалим, є чистою FUD на мій не настільки скромний погляд. Всі згадані канали сповіщень доступні на Хадсоні (можна навіть додати щебетати). Насправді, я думаю, що у Хадсона є більше плагінів, ніж ТС (перевірити wiki.hudson-ci.org/display/HUDSON/Plugins ), і я впевнений, що у TC більше обмежень, ніж у Хадсона.
Паскаль Thivent

3
Я погоджуюся щодо каналів (Хадсон має багато плагінів), але не погоджуюся щодо правил. У TeamCity ви можете підписатися на збірки зі своїми змінами, ви можете вибрати сповіщення, коли збірка починає виходити з ладу (наприклад, коли перший тест починає виходити з ладу). Ви можете попросити вас отримати сповіщення про першу помилку збірки після послідовності успіху + про перший успіх після відмов. І ці параметри доступні для всіх каналів сповіщень. Одним із таких каналів є сповіщувач IDE: коли щось піде не так, ви отримаєте сповіщення прямо у своїй IDE. Як я пам’ятаю, правила сповіщення Хадсона були набагато простішими.
Павло Шер

2
Павло - тут не хочеться строгого матчу, але Хадсон за замовчуванням надішле вам електронну пошту, лише якщо ви внесли свій внесок у збійну збірку. Ви також можете підписатися, щоб повідомити про кожну невдалу збірку, якщо хочете. Також у додатку електронного поштового зв’язку є більше варіантів. Вам не потрібно схвалювати його, але давайте не може його неправильно представити.
Jim T

4
Швидкий google покаже вам, що існують плагіни для контролю зайчачих кроликів та інших милих пристроїв від Team City. Або ви можете використовувати плагін, з яким я пов’язаний у своїй відповіді . Перевага жорсткої інтеграції IDE - це набагато швидше та більш зосереджений відгук про код, над яким ви працюєте, працюючи з ним. Вам не потрібно чекати сповіщення, перейти на браузер tge, прочитати звіт, повернутися до IDE та відкрити відповідний файл. Панель редактора змінюється, коли ви працюєте, щоб показати, як інші члени команди вплинули на код.
Нат

58

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

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

І якщо підтримка дійсно важлива річ, ви можете отримати комерційну підтримку від Сонця . Але FWIW, я ніколи не стикався з жодною проблемою блокування з Хадсоном.

Оновлення: Як ви можете знати, Косуке Кавагучі (творець Хадсона) покинув Sun / Oracle і створив власну компанію, щоб перевезти Хадсона на наступний етап . Іншими словами, це не є загрозою для Хадсона. І якщо ви шукаєте підтримки, ви можете отримати сертифіковану версію Hudson CI Server як частину плану підписки (ця сертифікована версія поєднує високоякісний випуск Hudson із заздалегідь заданим набором плагінів плюс деяким комерційним).

Оновлення: Щоб проілюструвати розмір відповідної бази користувачів, ось порівняння тенденцій роботи для декількох інструментів CI на Дійсно (живий запит):

Інженер з побудови Хадсон, інженер з будівництва CruiseControl, інженер з будівництва бамбука, інженер з будівництва TeamCity

Це, звичайно, не технічний показник.


88
Можливо, TeamCity настільки простий у використанні, що не вимагає від кого-небудь спеціально зайнятого для його налаштування?
Генрік

3
@Henrik: Інтерпретація наведеного графіка на ваш розсуд. Але так, можливо, TeamCity - це магія.
Паскаль Тивеннт

16
Якщо ви наймаєте інженера, що працює на повний робочий день, для здійснення вашої безперервної інтеграції, тепер у вас є дві проблеми: 1) З вашим КІ важко працювати, тому ваші дияволи будуть боротися з цим, і знання будуть сидіти в голові однієї людини, 2) Ви платите комусь за роботу, яку не потрібно робити!
Niall Connaughton

15
Якби я вибирав CI-сервер, я вибрав би той, який мав НАЙКРАЩЕ відкриття завдання для спеціалізованого інженера, який ним керував. Це інструмент для розробників, і розробники повинні мати можливість ним самим керувати. Якщо вони не можуть, вам або потрібен інший інструмент або різні розробники.
Нат

Графік тенденцій робочих місць зовсім не означає +1 для
Хадсона

17

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

редагувати: TeamCity зараз безкоштовний для 20 проектів.


2
10 обмежень на проект впали, єдиний ліміт - 20 конфігурацій побудови. Для проектів малого та середнього розміру можливо достатньо.
ясен

4
З цікавості, які функції, доступні через плагіни Дженкінса, були відсутні у світі TeamCity?
Behrang Saeedzadeh

14

TeamCity чудовий тим, що дозволяє кожному розробнику мати власний профіль збірки та підключити його до свого IDE. Що самотня - це "приклад". Існує також підтримка GIT тощо. Серйозно погляньте на це. Професійна версія безкоштовна.


5
GIT також підтримується Jenkins / Hudson
CJBrew

14

Найбільший аргумент проти Хадсона полягає в тому, що кожен випуск вводить нові помилки.

Випуски дуже часті, тому вам доведеться часто оновлювати, щоб не відстати. Це означає, що вам потрібно приділити багато часу діагностиці проблем та відновленню попередніх версій Хадсона. (Іноді відкат навіть неможливий!)

Ми впроваджуємо безперервне розгортання в нашому магазині (коли ви перевіряєте код, він стає розгорнутим на веб-сайті!), А боротьба з Хадсоном коштує нам занадто дорого.

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


8
Тільки тому, що доступне оновлення, не означає, що потрібно оновити. Я вважаю за краще випускати їх більш ніж рідше. Це мій вибір, коли потрібно оновити, і я, звичайно, не роблю це щотижня. Крім того, технічне обслуговування дуже консервативне щодо зворотної сумісності. Для роботи плагінів зазвичай не потрібна остання Хадсон. Насправді 130 доступних плагінів побудовані на версіях Хадсона, яким більше року. Якщо ви все ще стурбовані, в роботі працює автоматизований плагін для відкату ..;)
Крістофер Орр

1
З мого досвіду, проблема більше стосується плагінів, ніж самого Хадсона, хоча це не має великої різниці з точки зору користувача. Але нічого не змушує вас оновити, якщо ви не стикаєтеся з певною помилкою або не можете жити без нової функції. Ми просто не слідкуємо за кожним випуском і не використовуємо остаточну версію - це зовсім не проблема для нас: "Якщо вона не зламалася, не виправляйте її" .
Паскаль Thivent

2
Коли головний комітет передає повідомлення про те, що основний недолік безпеки виправлено, це причина для оновлення. Моя думка все ще стоїть: Хадсон є надто плавким - навіть без встановлених додаткових плагінів.
jdtangney

1
Я можу сказати, що через півтора року використання Хадсон / Дженкінс в одному проекті, хоча це чудовий інструмент - ми занадто відчували непослідовність якості між релізами - і оновили лише тоді, коли нам це було потрібно. Ми знайшли роботу навколо, включаючи часте резервне копіювання конфігурації. Я з нетерпінням чекаю спробувати TeamCity на своєму останньому проекті.
JaysonRaymond

4
Чому оновлення та стабільність повинні бути протилежними факторами? Це не вказує лише на відсутність якості?
Niall Connaughton

6

Мені дуже сподобався Teamcity, але в середовищі, над яким я працюю, час, який знадобиться, щоб отримати замовлення на Teamcity через шари управління, ймовірно, перевищив би час, необхідний для перенесення всього на Хадсон.


10
Професіонал TeamCity - безкоштовно.
Павло Шер

6
@Pavel, у нас більше 20 користувачів і багато іншого, ніж це.
сл

22
@sal мене завжди вражає те, як компанії можуть бути так заклопотані за пару тисяч доларів за інструменти своїх команд розробників, і швидше вони витратять на них витрачені 100-ти годин комбінованих годин, які б у них не було з цим інструментом.
Кріс Марісіч

5
@Chris Що робити, якщо вони починають з безкоштовного інструменту з відкритим кодом, тому що лише щоб побачити, як щось виходить, і через 2 роки зрозуміти, що це все ще працює без проблем? Ви б все-таки запропонували витратити пару тисяч доларів на перехід на комерційний інструмент, який, швидше за все, робить саме те саме?
stefanB

1
@stefan Якщо ви користуєтесь інструментом протягом 2 років, і він відповідає вашим потребам, якщо немає функціїX, яка вам потрібна з іншого інструменту, чому ви б перейшли на будь-який інший інструмент безкоштовно або платили?
Кріс Марісіч

2

Раніше я використовував і налаштовував TeamCity та Jenkins (він же новий Хадсон), і тоді як я погодився б, що TeamCity - це набагато хитріше налаштування, воно безкоштовне лише для команд з 10 користувачів або менше. Обидві системи дуже легко налаштувати і мають добре підтримувану плагін. Особливістю вбивці в TeamCity є робочий процес, що попередньо перевіряє, де ви можете перевірити код, перш ніж перевірити його на контроль джерела, і принадність Дженкінса полягає в тому, що він абсолютно безкоштовний, навіть якщо ви зростаєте за межі 10 користувачів та створюєте агенти.


Також мені подобається графічний вигляд Дженкінса, і саме цього мені не вистачає в Teamcity. Далі я згоден з вашим коментарем!
Danny Gloudemans

Якщо ви згодні з коментарем, тоді проголосуйте за нього :)
runxc1 Bret Ferrier

1

Я тільки починаю звикати до Хадсона, готового експериментувати і бачити, як він впишеться в наше сучасне середовище. У мене абсолютно нульовий досвід роботи з Teamcity, тому я не можу це коментувати, але мені подобається поки що працювати з Хадсоном.

Існує велика кількість плагінів для Хадсона, а також сайт Хадсон дає безліч порад щодо написання власного ( http://wiki.hudson-ci.org/display/HUDSON/Extend+Hudson ).


1

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


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

Тепер, побачивши Бамбук в дії на сайті клієнта, я вже не дуже захоплююсь цим. Є деякі області навколо сценаріїв та передачі інформації між складами, які вона бореться. Результати, як правило, розробники розміщують всілякі речі в глобальній змінній області CI, яких просто не повинно бути там.
drekka
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.