Vishal Joshi在此处提供了一个出色的 PDC 演讲,其中描述了 Visual Studio 2010 中的新 MSDEPLOY 功能 - 以及如何在 TFS 中部署应用程序。(还有来自Scott Hanselman 的精彩演讲,但他没有进入 TFS)。
您可以在 TFS2010 中使用 MSBUILD 调用 MSDEPLOY 以将您的包部署到 IIS。这是通过 MSBUILD 的参数来完成的。
该演讲解释了一些命令行参数,例如:
/p:DeployOnBuild
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=InProc
/p:MSDeployServiceURL=localhost
/p:DeployIISAppPath="Default Web Site"
但是这方面的文档在哪里 - 我找不到任何文件?
我一整天都在试图让它工作,但不能完全正确并不断出现各种错误。如果我运行包的cmd
文件,它会完美部署。如果我通过 Visual Studio 运行 WebDeploy,它也可以完美运行。
但我想通过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) Unauthorized。