Есть ли серверное программное обеспечение CI, которое может сделать все это? - PullRequest
2 голосов
/ 11 марта 2010

Я пытаюсь собрать сервер непрерывной интеграции, который будет выполнять следующие действия:

  1. Работа с Subversion
  2. Использовать тесты NUnit (сборка при неудачных тестах)
  3. Использовать partcover (ошибка сборки при
  4. Выполнить код для FxCop (ошибка сборки при предупреждениях FxCop, данные настройки)
  5. Выполнение кода для StyleCop (ошибка сборки при предупреждениях StyleCop, данные настройки)

Не так важно:

  1. Возможность запуска из файла sln
  2. Возможность публикации приложения (ClickOnce уже настроен для проекта)

Я сейчас использую TeamCity, и он, кажется, не делает 3 или 5, и у него нет бегуна для новейшего NUnit.

Из списка плагинов, которые есть у hudson, похоже, что он может делать все это, кроме 3 (и не столь важных запросов). Я подумал о написании плагина для hudons для использования partcover, но это добавляет больше времени на настройку сервера сборки.

Ответы [ 2 ]

2 голосов
/ 23 марта 2010

NAnt можно использовать в качестве сценария сборки, который будет строить ваши проекты и затем выполнять NUnit и FXCop.

Еще один вариант, который я использую на работе, - это создать скрипт сборки для MSBuild и использовать Задачи сообщества MSBuild , которые поддерживают запуск FXCop & NUnit среди прочего.

Так что для моей настройки CCNet извлекает исходный код из SVN, а затем вызывает MSBuild с основным файлом сборки. Там он создает проекты, запускает NUnit, NCover, FXCop, StyleCop и т. Д. И объединяет результаты, которые затем отображаются на веб-странице CCNet. Каждую задачу также можно настроить, чтобы в случае сбоя сборка не удалась.

Я не использовал TeamCity, но должен быть способ снять исходный код, а затем запустить скрипт сборки MSBuild или NAnt, который затем обработает шаги сборки.

0 голосов
/ 23 марта 2010

Это не сервер непрерывной интеграции, если он запускается из файла sln. Возможно, вы смешиваете инструмент сборки и непрерывную интеграцию. Сегодня многие CI-серверы не выполняют ничего, кроме запуска сценариев сборки, созданных для других инструментов, таких как NAnt или Maven. Сначала посмотрите на NAnt, если это то, что вы ищете. NAnt может создавать и выполнять другие инструменты, такие как FXCop (используя библиотеку NAntContrib). Вы используете CI-сервер для регулярного запуска сценария сборки.

...