TFS Build无法发布

时间:2014-03-13 10:56:04

标签: visual-studio-2012 tfs msbuild tfsbuild

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

1)构建服务器 2)DB服务器
3)WebServer1(已安装Web部署代理)
4)WebServer2(已安装Web部署代理)
5)WebServer3(与我设置的TFSBuild相同,即构建控制器和代理)

现在,当我从VisualStudio手动使用RightClick-> Publish(Publish Method = Web Deploy)手动发布我的应用程序时,它已成功部署到所有网络服务器。

类似地,当我使用TFS Build for WebServer3(其上有BuildController和代理)进行构建时,它可以正常工作。

但是当我尝试为WebServer1或WebServer2做同样的事情时,它只是编译代码并且DONT在服务器上发布任何内容。最糟糕的是它不会给我任何错误。它说Build已成功部署。

我已经尝试过发布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 ,但即使这样也不会发布。

但是,正如我之前解释的那样,它成功部署了我已经安装了构建控制器和代理的服务器。

是否要求每个Web服务器都必须安装构建控制器和代理。我认为这不是一个好主意。

2 个答案:

答案 0 :(得分:0)

最终我弄清楚出了什么问题。

问题是 WebServer1 WebServer2 上没有安装 Build Controller Agent ,因此TFS构建无法将我的构建转移到该服务器。但是 必须 是一个错误。

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

答案 1 :(得分:-1)

我们在Build Customization Guidance:“应用程序和数据存储的部署”中完成了整整一章。

为每个Web服务器创建构建定义,并为

设置正确的值
  

MSDeployServiceUrl

这是Web Deploy中安装的远程代理服务的地址。使用此URL将联系Web Deploy以发布应用程序。