Visual studio 2012 TFS生成无法发布

Visual studio 2012 TFS生成无法发布,visual-studio-2012,tfs,msbuild,tfsbuild,Visual Studio 2012,Tfs,Msbuild,Tfsbuild,我最近使用TFS Build 2012设置了自动构建。我想在不同的web服务器上发布我的应用程序。我有: 1生成服务器。 2数据库服务器 已安装3个Web服务器1 Web部署代理 安装了4个WebServer2 Web部署代理 5 WebServer3,与我在其上设置TFSBuild的相同,即构建控制器和代理 现在,当我从VisualStudio使用右键单击->PublishPublish Method=Web部署手动发布应用程序时,它会成功部署到所有Web服务器 类似地,当我使用TFS bui

我最近使用TFS Build 2012设置了自动构建。我想在不同的web服务器上发布我的应用程序。我有:

1生成服务器。 2数据库服务器 已安装3个Web服务器1 Web部署代理 安装了4个WebServer2 Web部署代理 5 WebServer3,与我在其上设置TFSBuild的相同,即构建控制器和代理

现在,当我从VisualStudio使用右键单击->PublishPublish Method=Web部署手动发布应用程序时,它会成功部署到所有Web服务器

类似地,当我使用TFS build for WebServer3(其上有BuildController和代理)创建一个构建时,它工作正常

但当我尝试对WebServer1或WebServer2执行相同操作时,它只编译代码,不在服务器上发布任何内容。最糟糕的是它也没有给我任何错误。它说构建已经成功部署

我已尝试发布解决方案,但不起作用:

任何帮助都将不胜感激。提前谢谢

编辑:

我的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
我已经明确地问过set/p:DeployOnBuild=True,但即使这样,它也不会发布

然而,正如我前面解释的,它成功地为我安装了构建控制器和代理的服务器部署


是否有任何要求,即对于每个Web服务器,必须安装生成控制器和代理。我认为这不是一个好主意。

我们在《应用程序和数据存储的部署》中花了整整一章的时间

为每个web服务器创建生成定义,并为

MSDeployServiceUrl


这是安装在Web部署中的远程代理服务的地址。使用此URL,将联系Web部署人员发布应用程序。

最终我发现了问题所在

问题是WebServer1和WebServer2上没有安装生成控制器代理,因此TFS生成无法将我的生成传输到该服务器。但这肯定有一些错误。


在webserver1和webserver2上安装构建控制器代理后,我尝试了它,它成功了

抱歉,这不是一个合适的答案。请在问题中添加详细信息,特别是您对默认生成模板所做的自定义,以及您的安全配置我没有在默认生成模板中进行任何自定义。。。我将在问题中添加我的MSBuild参数,以便进一步澄清。我的问题是它编译了所有内容,但没有发布。很好,你可以添加更多信息。因此,您没有在参数中显式寻址WebServer3,因此必须在发布配置文件中隐式声明它。这样,您就不能部署到多个服务器:或者自定义构建模板,或者使用Web场框架之类的复制机制,或者将站点放在网络共享上。选择一个。指南中解释了如何在特定服务器上发布,但正如我之前所写的,您不能在每个构建中发布超过一次。您可以做的是有三个构建定义,每个定义发布到不同的服务器。