TFS 2008/2010 против Дженкинса за непрерывную интеграцию - PullRequest
12 голосов
/ 06 октября 2011

Есть ли у кого-то особый опыт использования TFS 2008/2010 и Jenkins для непрерывной интеграции (CI)?Мы пытаемся решить, какой сервер CI использовать.Наша команда работает исключительно в Microsoft .NET / Visual Studio 2010 / C #.У нас есть следующие требования:

  1. Автоматическая сборка нашего веб-проекта при каждой регистрации.
  2. Запуск модульных тестов при каждой сборке.
  3. Автоматическое развертывание зеленых сборок в разработке/ или среды тестирования.
  4. Предоставляйте красивые отчеты.
  5. Предоставляйте уведомления о сборке / развертывании по электронной почте.

Я понимаю, что установка инструмента не обязательно даст намэта функциональность уже готова, и для достижения этой цели нам потребуется интеграция с другими инструментами, такими как MSBuild.

Я ищу специфические функции, которые есть у Jenkins, которых нет у TFS 2008/2010 или наоборот.наоборот.Также, что проще в обслуживании, использовании и т. Д.

Ответы [ 3 ]

11 голосов
/ 06 октября 2011

Я бы настоятельно рекомендовал использовать Jenkins - он выполнит все ваши требования из коробки, за исключением, возможно, №3, но если вы можете создать сценарий для своих развертываний, он также может это сделать.

Вот несколько ссылок, которые помогут вам собрать и запустить ваши сборки:

Блог о сборке .NET в Jenkins

Установщики Jenkins для Windows

Установка главного и подчиненного устройств Jenkins в качестве служб Windows

Отказ от ответственности: у меня нет опыта работы с TFS, но я думаю, что открытые решения почти всегда более гибки и расширяемы (и дешевле!), Чем проприетарные продукты.

7 голосов
/ 06 сентября 2013

Поздно к этой игре, но я использовал и TFS 2010, и Jenkins для CI. TFS 2010 содержит минимальный набор инструментов CI. Однако, когда вы хотите создать конвейер CI, это совсем другая история, в то время как Jenkins может легко создать конвейер.

Если вы рассматриваете только CI для одной сборки, то любой должен работать. Однако, когда дело доходит до всего трубопровода, Дженкинс - это путь. С TFS это можно сделать, но Дженкинс - лучший выбор.

Вот краткие пункты:

TFS:

  • С помощью определения сборки вы можете скомпилировать, выполнить тесты, вернуть набор изменений / рабочие элементы, отправить электронное письмо, если сборка не работает

  • естественная интеграция с визуальной студией

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

  • Из-за 3-го пункта трудно поддерживать / настраивать / масштабировать конвейер CI

Дженкинс:

  • Необходимо создать файл конфигурации msbuild для CI, что не составляет особой проблемы по сравнению с созданием конвейера CI с использованием TFS. Тем не менее, TFS предоставляет лучший / более простой инструмент для создания определения сборки. Тем не менее, неплохо создать конфигурационный файл для msbuild для проекта.

  • Создать конвейер CI очень просто. Просто объедините их в цепочку, используя триггер задания вверх / вниз по течению и передав артефакт из предыдущего задания.

  • Поскольку Jenkins очень гибок, легко создать плагин jenkins для удовлетворения ваших собственных потребностей и предоставить его сообществу OpenSource:)

Таким образом, если вам нужна полная автоматизированная система сборки, тестирования и развертывания, используйте Jenkins. Если вам нужно только собрать и протестировать, TFS может дать вам преимущество над Jenkins.

1 голос
/ 05 февраля 2013

Если вы используете Team 2010-2012, нет никаких причин привлекать Дженкинса. Команда имеет все перечисленные вами функции, и процесс сборки невероятно гибок.

Обратите внимание, что если вы застряли в Team 2008 или более ранней версии, вам следует серьезно взглянуть на Jenkins - 2008 и более ранние версии довольно примитивны и негибки по сравнению с 2010 и более поздними версиями.

...