Как я могу заставить TFS2010 запускать MSDEPLOY для меня через MSBUILD?
Есть отличный разговор по PDCдоступно здесь от Вишала Джоши, который описывает новые функции MSDEPLOY в Visual Studio 2010 - а также о том, как развернуть приложение в TFS. (Там также отличный разговор отСкотт Хансельман, но он не входит в TFS).
Вы можете использовать MSBUILD в TFS2010 для вызова MSDEPLOY для развертывания вашего пакета в IIS. Это делается с помощью параметров MSBUILD.
В докладе объясняются некоторые параметры командной строки, такие как:
/p:DeployOnBuild
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=InProc
/p:MSDeployServiceURL=localhost
/p:DeployIISAppPath="Default Web Site"
Но где документация для этого - я не могу найти?
Я тратил весь день, пытаясь заставить это работать, и не могу понять это правильно и продолжаю заканчиваться различными ошибками. Если я запускаю пакетcmd
файл разворачивается отлично. Если я запускаю WebDeploy через Visual Studio, он также работает отлично.
Но я хочу, чтобы все развертывание проходило черезmsbuild
используя эти аргументы, а не отдельный вызовmsdeploy
или запустить пакет.cmd
файл. Как я могу это сделать?
PS. Да у меня естьWeb Deployment Agent Service
Бег. У меня также есть служба управления, работающая под IIS. Я пытался использовать оба.
Аргументы, которые я использую:
/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:Configuration=Release
/p:CreatePackageOnPublish=True
/p:DeployIisAppPath=staging.example.com
/p:MsDeployServiceUrl=https://staging.example.com:8172/msdeploy.axd
/p:AllowUntrustedCertificate=True
давая мне:
C: \ Program Files (x86) \ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets (2660): Ошибка VsMsdeploy. (Удаленный агент (URL-адрес)https://staging.example.com:8172/msdeploy.axd?site=staging.example.com) не удалось связаться. Убедитесь, что служба удаленного агента установлена и запущена на целевом компьютере.) Сведения об ошибке: Удаленный агент (URL-адресhttps://staging.example.com:8172/msdeploy.axd?site=staging.example.com) не удалось связаться. Убедитесь, что служба удаленного агента установлена и запущена на целевом компьютере. Неподдерживаемый ответ был получен. Заголовок ответа «MSDeploy.Response» был «», но ожидался «v1». Удаленный сервер возвратил ошибку: (401) Несанкционированный.