Порівняння серверів CI? [зачинено]


87

Я шукаю порівняння різних серверів безперервної інтеграції (CI) (зокрема, зосереджених на .NET) і не зміг знайти жодного.

Тому я хотів би знати, що ви думаєте про різні доступні рішення, які плюси і мінуси, які вимоги до хостингу та чому CI Server XY - це сервер на ваш вибір.

Мене цікавлять ваші думки щодо (сміливо коментуйте інших):

Цікаві місця:

  • Конфігурація (проста, гнучка)
  • Інтеграція зі SCM (зокрема, DSVC, наприклад, git або hg)
  • Інтеграція із системами збірки (MSBuild, NAnt, Rake)
  • Інтеграція з тестовими рамками
  • Інтеграція з джерелом аналітики (Simian, NDepend, FxCop, NCover тощо)
  • WebInterface / Інформаційні панелі
  • Вимоги до інфраструктури

31
27 людей вважають це корисним, але він закритий. SIGH
Райан

CruiseControl.NET переїхав після закінчення співпраці з Thoughtworks. Нова URL-адреса: cruisecontrolnet.org
Джовен

2
@Ryan у світі є багато цікавого, що не підходить для SO.
Andy Wiesendanger

Чому не Azure DevOps ?
zwcloud

Відповіді:


51

Жодне подібне запитання не обходиться без посилання на велику матрицю функцій CI (веб-архів), де перелічено майже кожен варіант CI.

Але я думаю, що важливо поглянути вперед на обсяг того, що ви хочете включити у свою систему ІС. Це буде просто збірка, чи ви збираєтесь залучати інші елементи, такі як статичний аналіз, залежності між проектами, розгортання, функціональні тести тощо. Для допомоги в цьому плануванні я створив цю діаграму настінних елементів на Елементи Enterprise CI (PDF ; реєстрація не потрібна). Будь ласка, не дозволяйте "Е-слову" вас заважати; Я маю на увазі речі, що перевищують базову швидку зворотну зв'язок. :)

Це не стосується інструментів, але перелічує різноманітні практики, які ви можете розглянути, перебуваючи на етапі планування / оцінки.


5
Господи. Ця матриця страждає від "DeathByOverload". Basic UX диктує, що великі сітки марні, якщо немає фільтрації. Щоб додати образи до травми, завантаження не виконується (csv), а націнка не може бути завантажена безпосередньо. Навіть це чинило опір копіюванню в Excel ... Я здався.
sehe

4
Посилання на матрицю функцій мертве :(
Марті,



1
Архівна сторінка
недоступна

14

1
Я погоджуюсь, що SO вже досить наповнений порівняннями серверів CI. Я не знаю про Teamcity та CIFactory, але що стосується CC (.net) та Гудзона, то сьогодні вибір досить чіткий; ось моя думка про це: stackoverflow.com/questions/604385/… . (Неважливо, наголос на Java у цьому питанні; Гудзон чудово підходить і для .NET: stackoverflow.com/questions/616149/… )
Джонік,

@Jonik Дякую, дуже хороші посилання. Не знаю, як я їх пропустив, вони обидва дають чудові відповіді та дуже корисну інформацію.
Паскаль Тивент,

"не знаю про Teamcity та CIFactory" ... саме тому я хочу детальне порівняння, яке НЕ стосується лише x проти y. Ось чому це wiki спільноти, сміливо витягуйте висновок із посилань, на які посилаються.
Йоганнес Рудольф,

@Johannes, досить справедливо; Я згоден, що більшість існуючих питань мають більш обмежений обсяг, ніж цей. Але тут може бути не так багато користувачів, які мають досвід роботи з усіма компаніями Hudson, CC, Teamcity та CIFactory, які могли б надати гарне порівняння. Якщо вам потрібен сервер CI, моя порада (з особистого досвіду та, наприклад, голосування на stackoverflow.com/questions/140453/… ) полягала б у тому, щоб спробувати Хадсон спочатку.
Jonik

7

TeamCity має чудову особливість, що дозволяє розробнику виконати особисту збірку перед фіксацією. Дуже корисний!

CruiseControl.NET - це дідусь цілої групи, отже, візуально трохи датований і т. Д. Як це існувало деякий час, Google знає, як вирішити багато проблем, з якими ви зіткнетеся.

З цих причин (серед інших) я використовую CruiseControl.NET на роботі, а TeamCity вдома та у своєму житті з відкритим кодом :)


А, хіба CC.Net не є .net-портом CruiseControl?
Mnementh

5

Я користувач CruiseControl.NET весь час. Мої команди використовують це на роботі, а я вдома для особистих проектів.

Зокрема, CruiseControl.NET дозволяє мені пройти весь процес CI: збірки, оновлення версій, модульні та інтеграційні тести, архівування джерела або кандидата на випуск, охоплення коду, навіть розгортання в нашій тестовій системі на роботі. Він дуже настроюється, добре працює з MSBuild та NAnt і навіть мав розширювану архітектуру плагінів.

Це майже все, що мені потрібно.

Найбільший недолік: конфігурація іноді завдає труднощів і може зайняти час. Але як тільки це буде зроблено, це буде зроблено, і, як сказав інший постер, я люблю бачити сигнал "успішної збірки", тому що я знаю, що не тільки сама збірка працювала, але це також те, що всі мої модульні та інтеграційні тести успішно пройшли.


2

Team Foundation Build - це варіант, а також він дуже добре взаємодіє з Team Foundation Server. Це безкоштовно, доки ви маєте ліцензію TFS.


Я думав, що ніхто не згадуватиме TFS Build System, повністю інтегровану з TFS і підтримувану Microsoft. Більшість розробників .Net, можливо, вже встановили TFS.
Дієго Мендес

Сборки команд у TFS 2015/2017 набагато простіші у налаштуванні та використанні, і ви навіть можете відстежувати їх у реальному часі за допомогою монітора збірки CatLight
Томас Беннет,

Можливо, є причина, про яку це не згадується ... Мої 2 центи: щойно розпочав роботу над проектом, який його використовує, ми намагаємося вдосконалити нашу автоматизацію та встановити конвеєр доставки ... але час від часу CI "закінчується хвилин "і вгадайте, що ... вам потрібно заплатити за кілька хвилин. Ось чому я в цій темі ...
Джулія

1

Ми використовуємо Гудзона на роботі. Основна причина полягає в тому, що його дуже легко налаштувати. Ви можете безпосередньо виконати війну (це виконувана банка) або розгорнути її в будь-якому контейнері сервлетів. І ви готові розпочати. Крім того, Хадсон підтримує багато інструментів і є розширюваним завдяки своїй системі плагінів.


1

Ми перейшли з CruiseControl.NET на TeamCity насамперед завдяки простоті налаштування. TeamCity також має більше можливостей, але основною причиною було те, що приємний веб-інтерфейс простіший у використанні, ніж файли конфігурації XML.

РЕДАГУВАТИ: Більшість завдань TeamCity виконуватиме нестандартно; при необхідності ми використовуємо NAnt.


1

CruiseControl.NET - це може бути трохи важко налаштувати (як це робить більшість систем CI), але на це варто потурбуватися. В даний час він налаштований на тестування модульних тестів після завершення збірки та виготовлення інсталяторів Wix на вимогу. Як сказав Ден, це виглядає трохи застарілим, але це не має значення, оскільки надає вам велику кількість інформації, до якої можна легко дістатись та яку легко прочитати.

Одне - переконайтесь, що всі ваші розробники встановили, працюють та вказують на свої збірки CC Tray. Це чудове почуття, щоб додати в лоток сповіщень "Ще одну вдалу збірку".


0

Ми використовуємо ccnet на роботі, що добре для більшості наших потреб (у нас близько 50 автоматизованих збірок), але для постійного налаштування та виправлення йому потрібна одна людина.

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

З повагою,

Себастьян


0

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

Я із задоволенням переїжджаю до Team City.


0

Я досить новачок у CI-сцені і зосереджував свої зусилля на CruiseControl.NET, використовуючи NAnt та Ivy для побудови своїх .NET-проектів.

Я виявив, що CruiseControl.NET дуже пристосовується до багатьох інших інструментів, таких як NCover / NUnit / тощо. Всі вони підключаються до цього і інтегрують результати для комбінованого процесу збірки.

Найближчим часом я буду шукати TeamCity для власних інтересів, але я думаю, що CruiseControl робить хорошу роботу, але настільки ж хорошу, як і ваші сценарії збірки! Якщо це штани, то від вашої збірки можна очікувати лише такої гарної якості.

Але підсумовуючи, CruiseControl.NET є хорошим рішенням, але я ще не з’ясую, наскільки хороша конкуренція в порівнянні.


0

Ми задоволені Хадсоном . У мене немає з чим порівняти, але налаштувати та запустити його було просто. Зараз він створює лише проекти Win32 C ++ та інсталятор, але ми переносимо на Linux, і він також повинен працювати з цим.

Отримує сховища Subversion без будь-яких проблем, надсилає сповіщення тощо. Нам це подобається. Знову ж таки, у нас є обмежений досвід порівняння.


0

Я працюю з CruiseControl.NET, TFS 2012 та TeamCity 7.x протягом декількох років, і я вважаю, що TeamCity є НАЙКРАЩИМ завдяки простоті використання, зручному та інформативному інтерфейсу та іншим цікавим функціям, таким як залежність від побудови та багато іншого. Це просто працює, мені це подобається.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.