Подтвердить что ты не робот

Какой инструмент использовать для автоматических ночных сборок?

У меня есть несколько решений/проектов Visual Studio, которые работают в моей компании, и теперь для них требуется схема для автоматических ночных сборок. Такая схема должна иметь возможность проверять последние версии из SVN, создавать решения, создавать соответствующие загружаемые файлы (в том числе инсталляторы, документацию и т.д.), Отправлять электронные письма разработчикам при ошибках и всяких других отличных вещах, Какой инструмент или набор инструментов я должен использовать для этого?

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

4b9b3361

Ответ 1

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

Вы можете легко настроить модульное тестирование для запуска на каждом контроле, а также тестирование FXCop и множество других продуктов.

Я бы также посоветовал проверить Team City как вариант, потому что у него есть бесплатная версия, и, как сообщается, отчет и настройка проще (это выглядит хорошо для меня). У него есть предел где-то около 20 членов команды/проектов, прежде чем он попадет в окно оплаты.

Тем не менее, мы начали с CCNET и выросли несколько продуктов, которые слишком велики, чтобы взглянуть на Team City на бесплатную версию и очень довольны тем, что у нас есть.

Функции, которые помогают с CCNET, включают:

  • Конфигурация на основе XML - вы можете обычно копировать и вставлять большую часть того, что вам нужно.
  • Более или менее вы сможете подключить своего дерева script в качестве вашей сборки script и указать CCNET в качестве исполняемой задачи для запуска компиляции.
  • Большая документация и очень простая настройка nunit, ncover, fxcop и т.д.
  • Приложение панели задач, которое позволит вам узнать статус ваших проектов в любое время, а также может отключить электронную почту или сохранить канал RSS с той же информацией.

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

Учитывая, что CCNET является бесплатным и занимает очень мало времени, чтобы настроить - я бы очень рекомендовал просто пойти на это и посмотреть, подходит ли он вам, затем расширяется оттуда.

(Там есть еще одна тема, где я опубликовал почти то же самое/с некоторыми изменениями, но некоторые другие комментарии тоже могут помочь! Автоматизированные сборки)

Изменить для добавления: вы можете легко настроить свою собственную схему развертывания для CCNET, и там есть тонна сообщений в блоге, чтобы помочь, и уведомления по электронной почте действительно могут быть настроены достаточно подробно, либо на всех успехах, и на всех ошибках, когда он изменяется от успеха до отказа и т.д. Там также встроен RSS, и вы даже можете настроить свои собственные уведомления для других систем.

Ответ 2

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

Вы также можете использовать CCNet для запуска сборки при необходимости и выполнить FinalBuilder для сборки. Затем вы можете решить, должен ли FinalBuilder или CCNet отправлять электронную почту.

Наконец, у FinalBuilder есть версия сервера, которая похожа на CCNet, поскольку она является инструментом интеграции с использованием FinalBuilder. См. http://www.finalbuilder.com/finalbuilder-server.aspx

Конечно, самым большим преимуществом CCNet является то, что он бесплатный и с открытым исходным кодом.

Ответ 3

Хотя это стоит, я настоятельно рекомендую Visual Build. Он работает с MSBuild и старыми инструментами, такими как Visual Basic. Он доступен для сценариев и может делать все, начиная от установки установщиков до простой непрерывной интеграции.

Ответ 4

Мы только начали использовать Hudson здесь, в офисе.

Его бесплатный и открытый источник, он имеет очень удобный пользовательский интерфейс. Кроме того, есть множество опций и плагинов.

Через несколько минут после установки я начал работать. Все остальные разработчики любят это.

В целом, это очень элегантное решение для непрерывной интеграции или ночной сборки.

Ответ 5

Недавно я начал использовать CruiseControl.NET(http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET). Он работает достаточно хорошо, хотя конфигурация может быть проще. CruiseControl.NET является бесплатным и открытым исходным кодом и, кажется, интегрируется с большинством стандартных инструментов, хотя я лично использовал его только с CVS, SVN, NUnit и MSBuild.

Ответ 6

Luntbuild

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

Ответ 7

Buildbot является открытым исходным кодом и очень мощным. Вы должны взглянуть на него.

Ответ 8

Cascade поддерживает выполнение сборки для каждого отдельного изменения, внесенного в репозиторий.

Я бы не рекомендовал делать только ночные сборки - это довольно длинное окно, в котором может произойти сбой сборки, прежде чем он сообщит.