2011-08-10 2 views
4

Итак, вот моя текущая настройка и моя проблема на данный момент. У меня растущий набор проектов в решении Visual Studio. Решение содержит около 15 проектов (дайте или возьмите несколько) и быстро растущую базу кода. Я понимаю, что до того, как я добрался до этого, у меня должна была быть система непрерывной сборки, но я полагаю, что ее никогда не поздно. Таким образом, после делать небольшое исследование, я считаю, что мой идеальный установка будет:Непрерывная интеграция/сборки с NUnit 2.5.x и .Net 4.0

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

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

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

+0

, если вы хотите построить из файлов решений, вы всегда можете использовать файл devenv.exe с помощью/build и связанных с ним опций ... http://codebetter.com/raymondlewallen/2005/07/20/using-devenv-at-the-command-prompt-to-build-projects/ – shelleybutterfly

+0

Это сработает ... да. Но я надеюсь на то, что выглядит немного чище в файле сборки и будет более интуитивно понятным для других людей, которым придется управлять этим после меня. –

+0

К сожалению, единственный проект, в котором я был, в котором я собирался настроить непрерывные сборки, был отменен только до завершения работы CI; я просмотрел его, и поскольку мы использовали решения для сборки во время разработки, я не хотел иметь два отдельных определения сборки; я немного посмотрел на MSBuild и решил, что это не стоит усилий в нашем случае. но, похоже, ты больше, чем когда-либо был. :) Могу ли я спросить, что вы считаете нечистым в создании w/devenv и .sln-файлов? как только я получил вид вариантов/build, это показалось мне довольно простым. – shelleybutterfly

ответ

4

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

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

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

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

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

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

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

+0

Итак, я думаю, мой самый большой вопрос: с чем-то вроде TeamCity Pro, мне все еще нужно автоматическое build-script (используя NAnt или MSBuild), или это позаботится обо мне с TeamCity? –

+0

Нет, вам не нужно msbuild или nant, если вы перейдете на TC.ppends, сколько вы хотите расширить процесс. Думаю, вы могли бы defintely обойтись без них. –

+0

Полезно знать. Я предвижу, что этот проект имеет довольно обширный процесс сборки (по крайней мере для выпуска), и автоматизированный процесс сборки агностиков будет приятным. Однако, возможно, это произойдет позже, поскольку мы нуждаемся в (простой) системе CI раньше, чем позже. –

0

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

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

+0

Как и подразумеваемая почта, я действительно не хочу тратить много денег на мой процесс сборки. Поэтому тот факт, что FinalBuilder SE стоит 839 долларов за 10 лицензий, уже для меня. –

2

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

Смежные вопросы