Некоторые сомнения в настройке сервера автоматического компоновщика приложений на C # / Asp.Net 3.5 - PullRequest
3 голосов
/ 26 июня 2009

Я хочу настроить свой сервер на автоматическое создание приложения при фиксации в репозитории SVN, а затем развернуть его на сервере тестирования / омологации.

Что я планирую сделать:

  • установить инструмент для сборки (Nant? Использовать MSBuild?);
  • создайте простой скрипт и установите хук для SVN, который запускает процесс сборки и развертывания.

Для этого, что мне нужно установить на моем сервере, - это .NET 3.5 framework? Может ли Nant построить наше приложение только на основе нашего файла решения (.sln)?

Я провел небольшое исследование, и последний выпуск Nant, v0.86 beta 1, не включает цель решения.

Есть ли другая альтернатива для этого?

Обратите внимание, что в настоящее время я использую только систему сборки VS2008 и не вызываю MSBuild напрямую. Это возможно и просто настроить в серверной среде?

Ответы [ 5 ]

2 голосов
/ 26 июня 2009

Просто используйте CruiseControl.NET или TeamCity . Они оба являются полноценными серверами непрерывной интеграции с множеством функций и просты в настройке.

1 голос
/ 27 июня 2009

Мы используем Хадсон , чтобы сделать это. Как упоминалось ранее. Он поддерживает MsBuild (и Nant). В качестве параметров мы используем msbuild с файлом решения и конфигурацией сборки, такой как debug / release (мы создали конфигурацию deploy и watin с разными web.config). Никаких дополнительных задач или других сценариев, чем файл решения, который мы использовали в visual studio. (я думаю, что это настройка, которую вы ищете)

Кроме того, перед развертыванием мы настраиваем веб-сервер (cassini) с результатами тестов build nunit (watin). Все через Хадсон, который показывает хорошую диаграмму результатов испытаний nunit.

TeamCity и CruiseControl.Net должны быть в состоянии сделать то же самое, но я обнаружил, что hudson легко настроить и настроить. (В комплект поставки входит все, просто запустите его)

Что также приятно, так это то, что он поддерживает результаты SourceCop и FxCop, которые можно просмотреть на диаграмме и посмотреть местоположение, к которому применяется определенное предупреждение в исходном файле, все с использованием веб-интерфейса.

1 голос
/ 26 июня 2009

Я использую Teamcity , и его было очень легко настроить. До этого я использовал обычный Нант. Сервер Teamcity действительно изменил ситуацию, потому что теперь все в команде понимают, что происходит на buildserver.

Бесплатно до 20 конфигураций проекта.

Для Asp.Net вам также потребуется Проект веб-развертывания на любом типе сервера сборки, который вы выберете.

Вы действительно уверены, что вам нужно построить SLN? Для типичного проекта ASP.NET это не лучший способ. Вы обычно создаете WebDeploymentProject. В любом случае Teamcity (и другие серверы сборки, я думаю, тоже) понимает sln-файлы.

1 голос
/ 26 июня 2009

Я думаю, что вы смотрите на установку Cruise Control.Net. Он будет автоматически проверять ваш репозиторий SCM и запускать все, что вам нужно.

http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET

Что касается NAnt или MSBuild - это личный выбор. Я пошел с MSBuild, так как NAnt не обновлялся некоторое время. Это, как говорится, - они оба способны делать то, что вы хотите сделать.

Одна заметка - если вы компилируете в Visual Studio - вы используете MSBuild. Вы можете выбрать файлы SLN или PROJ с помощью MSBuild через Cruise Control.net.

1 голос
/ 26 июня 2009

Вы можете использовать для этого Hudson или Cruise Control.

Они являются серверами непрерывной интеграции и могут также запускать ваши модульные тесты перед его развертыванием.

...