Сервер непрерывной сборки (CC.NET, Hudson, Bamboo и т. Д.) Удаленный опыт сборки?

softwareengineering.stackexchange https://softwareengineering.stackexchange.com/questions/7588

  •  16-10-2019
  •  | 
  •  

Вопрос

В настоящее время мы используем один раз CC.Net Server для нашего процесса сборки, который создает как, использование MSBuild & NANT), так и Java (с использованием Maven и Ant).

CC.NET контролирует управление источником и запускает удаленную сборку, работающую на отдельном сервере. Затем CC.Net сопоставляет результаты.

Когда мы запускаем удаленную сборку, обычно это:

  • Запускает NUNIT или JUNIT или аналогично, используя высмеиваемые данные
  • При желании запускает скрипт БД для создания свежего экземпляра базы данных или восстановления базы данных из известной позиции.
  • Запускает селен или аналогичен тестированию пользовательского интерфейса
  • Запускает Emma или Ncover для покрытия кода
  • Создает систему для различных средств развертывания (тест, принятие, производство)

У нас может быть несколько сборки за раз, некоторые .NET и немного Java (из разных команд проекта).

Вполне затруднение, чтобы заставить удаленные сборки работать, когда мы создаем новый проект, и мы считаем, что должно быть что -то более подходящее для удаленных сборков, чем CC.NET.

У кого -нибудь есть опыт работы с удаленными сборками с системами непрерывной интеграции?
Я не очень хочу списки функций серверов CI, я бы больше ценю услышать, как вы использовали их в многочисленной, много серверной среде.

Это было полезно?

Решение

Гудзон (обновление: в современном мире я бы использовал Дженкинс, вилку Гудзона.)

Я использовал Гудзон в средах Java и .NET Enterprise для проектов с высокой видимостью (вы, вероятно, были на некоторых сайтах). Гудзон солид с самого начала, но самое приятное то, что есть много плагинов, чтобы сделать почти все, что вы хотите. Hudson очень настраивается, имеет отличное сообщество, и его действительно легко настроить в кластерной среде, если вам нужно несколько сборков. Это мой любимый CI -сервер из всех, которые я использовал (Cc.Net, Hudson и TFS).

Кроме того, вы можете использовать Плагин Чакнори Чтобы он дал вам большие пальцы вверх или вниз.

Другие советы

Мы столкнулись с этим вопросом некоторое время назад и решили пойти с Команда. Анкет Мы смотрели только на Гудзон, CC и TeamCity. Выбор был легко сделать - TeamCity стала нашим сервером сборки. Обратите внимание, что я не профессионал в этом, и это был мой первый опыт работы с серверами сборки в то время.

Гудзон - Я понятия не имел, что делать и где об этом читать. И хотя я мог что -то понять, это не было вариантом - слишком много работы. Я решил взглянуть на CC.

Круиз-контроль - То же, что и Гудзон, но немного по -другому. Абсолютно ничего не можно понять без руководства и тонны помощи от Google. Я только что посмотрел на TC.

Команда - TeamCity чувствовала себя как рай после первых двух. Это самый полезный из этих трех. Установите, перейдите на панель администратора, настройте проект (покажите, где находится SVN, укажите файлы, укажите тесты на покрытие/модуль и т. Д.) И начните наслаждаться. И хотя я не могу сказать, что я ничего не погуглил, все же 95% процесса настройки были очень простыми и ясными. Я очень рекомендую этот инструмент. Иди и посмотри на это. Это сэкономит вам много нервов и времени :)

Я также должен отметить, что TC не бесплатен. Несмотря на то, что у них есть бесплатное издание, которое можно использовать в коммерческих проектах с некоторыми ограничениями (Max Build Configs 20) - посмотрите на их странице ценообразования.

PS я звучу так, будто я работаю для TC, но я действительно не знаю :)

Мы используем CC.NET 1.4.

Мы пытаемся перейти на 1.6 ... какой кошмар.

Это мощно ... но только если вы используете это правильно и понимаете, как все соединяется. Что много, чтобы спросить от всей команды. У нас есть «Buildmasters», которые имеют доступ к серверу и могут изменить конфигурации. Несмотря на это, есть много Google в отношении CCnet, и весь бизнес стал огромным беспорядком.

Я лично хочу переехать в TeamCity.

Я рекомендую вам держаться подальше от CCnet.

хороший вопрос. В настоящее время мы также пытаемся выяснить, какой инструмент подходит для нас лучше всего. Так что я смогу сказать вам только небольшой опыт. Но нам было бы очень интересно, какая система CI вы выбрали сейчас и по каким причинам. Так что, пожалуйста, держите нас в курсе.

Я очень впечатлен, насколько высок уровень вашего CI. Я должен признать, что у нас меньше требований, потому что мы еще не запускаем тесты пользовательского интерфейса и не создаем экземпляры базы данных или аналогичные, мы просто используем макет для наших модульных тестов.

Теперь к нашему опыту до сих пор:

Для проектов Java мы используем бамбук, который отлично работает, используя Junit и Emma. И не так много усилий, чтобы настроить новый проект.

Для проектов .NET мы все еще ищем лучшее решение

  • Круиз -контроль: мы еще не могли выполнить его из -за проблем с подключением к нашему репозитории

  • TFS:

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

    б) Есть некоторые ловушки, где вы должны преодолеть права доступа. Есть много ролей, которые вы можете определить, и вы должны точно знать, какие права имеют ваш процесс сборки, а какие есть ваша личная учетная запись. Но если у вас достаточно времени для управления, вы можете определить каждую конкретную гранулярность, которая вам нужна.

    c) Что касается ссылки на LIB

    D) Запуск NUNIT Test не так просто, как мы думали. Это просто просто, если вы используете выполнение теста, предоставленное Visual Studio, но это не NUNIT

    д) Мы еще не пытались запустить NCOVER (первое сначала :-))

  • Хадсон: Следующий инструмент, который мы попробуем. Кажется, есть действительно хороший и простой плагин для .NET, я дам вам знать, как это работает

  • Бамбук: Первое предсказание, которое мы получили: «Слишком специфична для Java». Но, может быть, мы попробуем плагин .NET, тем не менее, я дам вам знать

Надеюсь, мы можем продолжить эту дискуссию и обмен опытом.

Энди

Лицензировано под: CC-BY-SA с атрибуция
scroll top