2010-03-11 4 views
2

Я пытаюсь собрать сервер непрерывной интеграции, который будет делать следующее:Есть ли программное обеспечение сервера CI, которое может все это сделать?

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

Не так важно:

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

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

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

+0

FWIW, CruiseControl.Net может сделать # 1-3 –

+0

@Chris Missal: Может ли он сделать 1-2 из не важных? Я готов внести свой вклад в проекты ОС, и было бы легче внести вклад в .NET, если все, что ему нужно, - это дополнения для fxcop/stylecop (так как это в первую очередь то, что я пишу весь свой код в эти дни). –

+0

Не уверен, извините. –

ответ

2

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

Другим вариантом, который я использую на работе, является создание сценария сборки для MSBuild и использование MSBuild Community Tasks, поддерживающего использование FXCop & NUnit среди прочего.

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

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

0

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