Есть ли программное обеспечение CI-сервера, которое может сделать все это?
Я пытаюсь собрать сервер непрерывной интеграции, который будет делать следующее:
- Работа с подрывной деятельностью
- Использовать тесты NUnit (сборка с ошибками при неудачных тестах)
- Использовать partcover (ошибка сборки на
- Выполнить код для FxCop (ошибка сборки при предупреждениях FxCop, данные настройки)
- Выполнить код для StyleCop (ошибка сборки при предупреждениях StyleCop, данные настройки)
Не так важно:
- Уметь запускать из файла sln
- Иметь возможность публиковать приложение (ClickOnce уже настроен для проекта)
Я использую TeamCity прямо сейчас, и он, кажется, не делает 3 или 5, и у него нет бегуна для новейшего NUnit.
Из списка плагинов, которые есть у hudson, похоже, что он может делать все это, кроме 3 (и не столь важных запросов). Я подумал о написании плагина для hudons для использования partcover, но это добавляет больше времени на настройку сервера сборки.
2 ответа
NAnt можно использовать в качестве сценария сборки, который будет создавать ваши проекты, а затем выполнять NUnit и FXCop.
Другой вариант, который я использую на работе, - это создание сценария сборки для MSBuild и использование задач сообщества MSBuild, которые поддерживают запуск FXCop & NUnit среди прочего.
Поэтому для моей настройки CCNet извлекает исходный код из SVN, а затем вызывает MSBuild с основным файлом сборки. Там он создает проекты, запускает NUnit, NCover, FXCop, StyleCop и т. Д. И объединяет результаты, которые затем отображаются на веб-странице CCNet. Каждую задачу также можно настроить, чтобы при сбое сборка не выполнялась.
Я не использовал TeamCity, но должен быть способ снять исходный код, а затем запустить скрипт сборки MSBuild или NAnt, который затем будет обрабатывать этапы сборки.
Это не сервер непрерывной интеграции, если он запускается из файла sln. Возможно, вы смешиваете инструмент сборки и непрерывную интеграцию. Сегодня многие CI-серверы не выполняют ничего, кроме запуска сценариев сборки, созданных для других инструментов, таких как NAnt или Maven. Сначала посмотрите на NAnt, если это то, что вы ищете. NAnt может создавать и выполнять другие инструменты, такие как FXCop (используя библиотеку NAntContrib). Вы используете CI-сервер для регулярного запуска сценария сборки.