2013-09-05 4 views
0

У нас есть большое веб-приложение, которое использует TFS 2012 для непрерывного запуска модульных тестов, тестов bdd и создания общей сборки. Наши среды (UAT, Pre-Prod и т. Д.) Расположены в dmz с ограниченным доступом к нашей инфраструктуре dev, за исключением того, что мы можем вызвать скрипт powershell, который запрашивает сервер TFS и извлекает общую сборку. Затем я перехожу и изменяю конфигурации для соответствующей среды, которая является повторяющейся и подверженной ошибкам задаче.Как настроить сборку для конкретной среды в TFS

Наше веб-приложение имеет несколько конфигурационных файлов, для которых я использую медленный гепард для создания преобразований, специфичных для среды, например. ConnectionsStrings.UAT.Config и т. Д. Я хотел бы установить качество сборки в TFS, которое передало бы аргумент/p: EnviroTarget = «UAT» для MSBuild и применил соответствующее преобразование, в результате чего была создана соответствующая среда, соответствующая соответствующим образом помеченным , У меня есть преобразование, работающее на моем локальном компьютере, где я вручную указываю, какой EnviroTarget (и там, который преобразует config для применения).

Мой вопрос: как я могу вызвать MSBuild для создания новой сборки на основе изменения качества сборки, чтобы эти сборки могли создаваться на сервере CI независимо от рабочих станций разработчика?

Возможно ли это? Я знаю о проекте под названием TFSDeployer, о котором я планировал посмотреть, однако, если его нужно запустить как агент, он должен иметь возможность постоянно общаться с TFS из всех сред, что кажется трудным препятствием для нашего сеть. Более простым выбором (на мой взгляд) было бы вывести последнюю версию UAT на сервере UAT поверх PowerShell.

Надеюсь, что я смысл здесь :-)

ответ

0

Если вы используете Visual Studio 2012 и веб-проектов, вы можете опубликовать построить для различных сред с использованием конфигурации преобразования.

http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx

Использование профиля публикации для создания различных сред в разные папки. Затем напишите сценарий командной оболочки для извлечения сборки и обновления вашей UAT или другой среды.

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