Непрерывная интеграция / сборки с NUnit 2.5.x и .Net 4.0 - PullRequest
4 голосов
/ 10 августа 2011

Хорошо, вот мои текущие настройки и моя проблема на данный момент.У меня есть растущий набор проектов в Visual Studio решении.Решение содержит около 15 проектов (дайте или возьмите несколько) и быстро растущую базу кода.Я понимаю, что мне нужно было настроить систему непрерывной сборки до того, как я добрался до этого, но я полагаю, никогда не поздно.Поэтому после небольшого исследования я считаю, что моя идеальная установка будет выглядеть так:

  • NUnit 2.5.x (мы уже связаны с этим ... так что необходимо)
  • Интеграция сCruiseControl.Net (открыты для других опций, но только бесплатные с поддержкой Git)
  • Интеграция с инструментом покрытия кода (NCover, DotCover) была бы хороша
  • Интеграция взапускать команды оболочки (для JSLint, инструментов сжатия и т. д.)

Мне не хватает инструмента для запуска автоматической сборки.Я посмотрел на NAnt, но его поддержка запуска MSBuild (для сборки проекта) выглядела довольно устаревшей (мы используем VS2010), и использование файлов решения в нашем процессе сборки было бы ОГРОМНОЙ экономией времени.Я также посмотрел на MSBuild (по очевидным причинам), но процесс, который я нашел для запуска NUnit тестов, поддерживает только 2.4.x (проект расширений MSBuild).

Мне любопытно, как все остальные организовали свои системы непрерывной сборки.NUnit если он довольно популярен, так что я не должен быть единственным, кто интересуется этим.

Ответы [ 3 ]

4 голосов
/ 10 августа 2011

Мой первый вопрос: как вы можете собирать проекты?

Teamcity Professional бесплатен для 20 конфигураций сборки на сервер и значительно упростит вашу настройку, а также имеет сборку dotcover.и действительно прост в настройке, запуске ваших тестов и т. д., и на данный момент это самый полноиспеченный CI-сервер.

Дженкинс - следующий призер, это форкHudson и очень гибок с плагинами
, позволяющими делать что угодно, делая его немного более гибким, чем Teamcity, но его не так просто настроить, покрытие кода - это сложная задача, и у него есть некоторые раздражающие особенности, но оно совершенно бесплатно,

, если у вас нет действительно веской причины использовать CruiseControl.Net, не беспокойтесь, потому что это время было очень мощным, но теперь оно устарело и болезненно использовать.

Покакак и при настройке сборок, Teamcity и Jenkins поддерживают MSBuild, NAnt, Rake и т. д., а также поддерживают несколько этапов сборки, как это делается в файле msbuild или Nant.В прошлом я просто использовал файл .sln, чтобы выполнить сборку за один шаг, использовал задачу сборки для модульных тестов, затем использовал встроенную задачу для покрытия кода, затем использовал другую задачу сборки для отправкифайлы.

Я использовал TeamCity, Jenkins, TFS и пытался использовать CruiseControl.Net, но мне это показалось мучительно неуклюжим.Безусловно, Teamcity - лучший, с Дженкинсом, который уже совсем близко, я бы не хотел использовать TFS, даже если бы он у меня был.

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

2 голосов
/ 11 августа 2011

Вы можете использовать NAnt для создания ваших решений Visual Studio 2010. Я делаю это все время. В своем ответе я предоставил образец сценария NAnt: task или msbuild.exe с NAnt?

0 голосов
/ 10 августа 2011

Если все, что вам нужно, это скомпилировать и запустить тесты, вы не ошибетесь с TeamCity , у него будет отличная поддержка NUnit / VS и множество встроенных отчетов.

Если выМне нужно запустить более сложный сценарий сборки. Я предлагаю вам использовать FinalBuilder для создания сценария сборки и командный запуск TeamCity для выполнения этого сценария.Импортируя результаты теста в TeamCity, вы все равно можете получать отчеты, и есть простой способ вывести состояние сборки из FinalBuilder в TeamCity:

...