【发布时间】:2014-04-18 01:18:10
【问题描述】:
我最近使用 TFS Build 2012 设置了自动构建。我有不同的 Web 服务器,我想在其中发布我的应用程序。我有:
1) 构建服务器。
2) 数据库服务器
3) WebServer1(已安装 Web 部署代理)
4) WebServer2(已安装 Web 部署代理)
5) WebServer3(与我设置 TFSBuild 的相同,即构建控制器和代理)
现在,每当我使用 VisualStudio 中的 RightClick->Publish(Publish Method= Web Deploy) 手动发布我的应用程序时,它都会成功部署到所有网络服务器。
同样,当我使用 TFS Build for WebServer3(上面有 BuildController 和代理)对构建进行 QUE 构建时,它工作正常。
但是当我尝试对 WebServer1 或 WebServer2 执行相同操作时,它只会编译代码并且不要在服务器上发布任何内容。最糟糕的是,它也没有给我任何错误。它说构建已成功部署。
我已尝试发布here 的解决方案,但它不起作用:(
任何帮助将不胜感激。提前致谢。
编辑:
我的 MSBuild 参数如下:
/p:VisualStudioVersion=11.0
/p:DeployOnBuild=True
/p:DeployTarget=MSDeployPublish
/p:MSDeployPublishMethod=WMSVC
/p:AllowUntrustedCertificate=True
/p:PublishProfile=Application
/p:MsDeployServiceUrl="https://WebServer3"
/t:Build;Publish
/p:SqlPublishProfilePath=DB.publish.xml
我已经明确要求设置 /p:DeployOnBuild=True 但即使这样它也没有发布。
但是,就像我之前解释的那样,它成功部署到我安装了构建控制器和代理的服务器上。
是否有任何要求您必须为每个网络服务器安装构建控制器和代理。我不认为这是一个好主意。
【问题讨论】:
标签: visual-studio-2012 tfs msbuild tfsbuild