У нас есть единое решение, которое содержит один проект webapp и несколько сопутствующих проектов. Наша TFS 2010 создает это решение каждую ночь и развертывает веб-приложение на сервере IIS. Он работает как ветер.
На вкладке «Процесс» определения сборки TFS можно указать «аргументы MSBuild». Это значение, которое установлено в нашем определении сборки (все в одной строке):
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=WMSVC
/p:MSDeployServiceUrl=
/p:DeployIisAppPath=""
/p:UserName=\
Это сообщение в блоге объясняет всю настройку: http://vishaljoshi.blogspot.com/2010/11/team-build-web-deployment-web-deploy-vs.html .
Пока все хорошо.
Теперь мы добавили второй проект веб-приложения, который мы хотим также развертывать в том же IIS каждую ночь.К сожалению, в этом случае настройка не применима. TFS развертывает только одно веб-приложение.
Есть и другие с той же проблемой:
TFS 2010 + MSDeploy, когда решение имеет несколько веб-приложений
и
WebDeploy для развертывания нескольких веб-сайтов
Вишал Р. Джоши предлагает добавить несколько properties для каждого проекта webapp. Теперь сборка выпуска будет генерировать веб-пакет (zip-файл) для каждого проекта веб-приложения, для которого определены следующие свойства:
True
Package
true
Хорошо. Но как довести TFS до развертывания каждого веб-приложения в IIS? Есть ли другие идеи?