CI: Hudson с .Net против CruiseControl.Net

Я работаю в магазине .net и ищу возможность интегрировать CI-сервер. Судя по тому, что я видел, Гудзон кажется самым популярным выбором. Учитывая, что мы являемся магазином только .net, будет ли Hudson создавать какие-либо препятствия, которых не будет в CC.NET?


person Jeremy    schedule 24.02.2009    source источник
comment
Подумайте о добавлении .net в качестве тега к вашему сообщению   -  person myroslav    schedule 25.02.2009
comment
См. Также этот вопрос CC vs Hudson: stackoverflow.com/questions/604385; несмотря на то, что в названии говорится о проектах Java, на самом деле ни один из них не специфичен для Java. О Hudson и .NET см. Этот ответ: stackoverflow.com/questions/616149/ Подводя итог: используйте Hudson. :)   -  person Jonik    schedule 24.06.2009


Ответы (5)


Я не могу придумать ни одной вещи, которую Хадсон не смог сделать для нашей разработки на C #, даже с тестами на основе MSTest, теперь вы можете запускать и отображать тенденции на них с помощью новый плагин (работает только при тестировании ОДНОЙ сборки) или мой метод, который работает с несколькими сборками.

Я полагаю, единственное, что было бы неплохо, - это сгенерировать данные о покрытии кода и сообщить об этом, не уверен, что CC.net делает это.

Кроме того, похоже, что у Хадсона гораздо более сильная поддержка сообщества. Я никогда не слышал, чтобы кто-то предпочел CC.net Hudson, если бы у них был выбор.

Мы используем это, чтобы

  • Развертывание служб Windows
  • Развертывание веб-сервисов
  • Запускайте MSTests и отображайте столько же информации, сколько и любые тесты junit
  • Следите за низкими, средними, высокими задачами
  • предупреждения и ошибки трендграфа

Возможно, эти вещи не являются чем-то новым для Хадсона, но я почувствовал необходимость еще раз подчеркнуть, что Хадсон может справиться с этим с помощью проекта .net, без проблем.

Вот некоторые из встроенных файлов .net, которые поддерживает Hudson

Кроме того, не дай бог, вы используете безопасный визуальный источник, это тоже поддерживает. Я бы порекомендовал вам взглянуть на Redsolo статья о создании проектов .net с использованием Hudson

person Allen Rice    schedule 24.02.2009
comment
Итак, вы встретили человека, который предпочитает CC.NET. Я один. Сообщество CC.NET великое, я не знаю сообщество Хадсона, но если оно намного лучше, то отлично для вас. Я обнаружил, что основным препятствием для меня является необходимость изучения Java для моих настроек. - person Alex; 24.02.2009
comment
Вам не нужно изучать Java, чтобы добавлять шаги сборки, я написал пакетные файлы, как показано в моей ссылке выше. вы также можете добавлять исполняемые файлы. Как встроенная поддержка плагинов сравнивается с этим? wiki.hudson-ci.org/display/HUDSON/Plugins - person Allen Rice; 25.02.2009
comment
Он выгодно отличается тем, что большая часть этой функциональности находится только в CC.NET, нет необходимости выполнять дополнительную работу. А то, что мне не нужно, мне не нужно. Я не критикую Гудзон, вроде неплохо. Я бы сказал, что они выгодно отличаются друг от друга. Я могу изменить основы, а не просто добавить плагин - person Alex; 25.02.2009
comment
В CC.NET у вас также есть клиентское приложение (CC.NET Tray), которое очень полезно для просмотра статуса проекта. Кроме того, вы также можете управлять сервером CC.NET (например, принудительной сборкой и т. Д.). - person Peter Stegnar; 05.06.2012
comment
Круто, я почти уверен, что в Гудзоне / Дженкинсе их много. - person Allen Rice; 05.06.2012

Гудзон намного проще для новичков. Мы используем его для автоматической сборки и упаковки dll и exes C ++ Builder. Подумай об этом! Это не Java и не C #.

person bo bo    schedule 15.05.2009
comment
хорошо, да, вы даже можете настроить Hudson для сборки с помощью jslint, хе - person Allen Rice; 18.05.2009

Я почти ничего не знаю о Гудзоне. Я скажу, что, поскольку CC.NET основан на .NET, он, как правило, имеет множество встроенных и созданных сообществом задач и отчетов, касающихся экосистемы .NET:

MSBuild Visual Studio NCover NUnit FxCop и т. Д. И т. Д. И т. Д.

Итак, если вы используете эти инструменты, вам следует внимательно проверить, насколько хорошо они поддерживаются Hudson "из коробки". Кроме того, если вам в конечном итоге придется писать собственные плагины (я сделал несколько для CCNET), обычно полезно иметь возможность использовать язык разработки и IDE, которые вы используете для «нормальной» разработки.

person jlew    schedule 24.02.2009
comment
Вау, ты серьезно? Hudson поддерживает все это прямо из коробки через плагины, кроме NCover, и я думаю, что один из них находится в разработке. В любом случае вы можете разрабатывать собственные шаги сборки как исполняемые файлы или просто запускать команды dos, при этом совсем не обязательно знать Java. - person Allen Rice; 25.02.2009
comment
Почему ты такой серьезный? Джереми говорит, что не знает Хадсона, он не говорит, что в Гудзоне нет ничего подобного. Что вы спрашиваете? - person Alex; 25.02.2009
comment
неправильно прочитал сообщение, не могу отредактировать комментарий - person Allen Rice; 25.02.2009

Я проверил поддержку Hudson для фреймворков тестирования xunit, краткое изложение приведено ниже:

  • MBUnit / Gallio: есть плагин, но разработка, похоже, не слишком активна, и сообщество, которое используй это. Например, добавлена ​​только одна проблема. Об этом сообщалось в отчете в апреле и пока не тронут (август). (Команда Gallio поддерживает плагин для CC.Net, их время отклика выглядит намного лучше)
  • MSTest: Та же проблема. Имеет только две проблемы в системе отслеживания проблем, а средняя задержка ответа составляет 6 месяцев. (Похоже, что CC.Net имеет встроенную поддержку mstest, но требует некоторой настройки)
  • nUnit: поддержка nunit в hudson кажется неплохой. Команда разработчиков гораздо более отзывчива, и у нее также есть сообщения об ошибках (в настоящее время 8).

Так что я думаю, что собираюсь попробовать CC.Net.

person Piotr Czapla    schedule 24.08.2010

Я не могу понять, почему разработчик .Net использовал бы инструмент Java CI. CruiseControl - это инструмент, ориентированный на Java. Вот почему был создан CruiseControl.NET. .NET-ориентированная непрерывная интеграция.

Если вы хотите настроить тесно интегрированную систему, вы будете писать свои собственные плагины для системы, чтобы она делала именно то, что вы хотите.

например Соберите воедино всю интересующую вас информацию о версиях, а затем запишите файлы AssemblyInfo.cs с версиями в них.

person Quazil    schedule 13.02.2011