MSBuild将MSDEPLOYAGENTSERVICE附加到我的URL末尾

时间:2012-08-30 15:54:19

标签: c# tfs msbuild

我正在尝试在TFS中配置构建以部署到我们的测试框以进行持续集成。我遇到的问题是TFS想要将MSDEPLOYAGENTSERVICE附加到我的URL的末尾,导致部署返回套接字错误:

 Retrying the sync because a socket error (10054) occurred.   Retrying operation 'Serialization' on object sitemanifest (sourcePath).

以下是我的MSBuild参数:

/p:DeployOnBuild=True 
/p:DeployTarget=MSDeployPublish 
/p:MsDeployServiceUrl=[ip address]:8172/MsDeploy.axd 
/p:MSDeployPublishMethod=RemoteAgent 
/p:CreatePackageOnPublish=True

服务器是带有IIS 7.5的Windows Server 2008 R2 64位服务器。使用Visual Studio 2010的发布功能使用上面的Url部署到测试框时,我们没有任何问题。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

您不需要在MsDeploy.axd中指定MsDeployServiceUrl。此外,我发现您没有设置DeployIisAppPath值。您应该将其设置为IIS中的网站名称。

以下是我们的一个CI版本的示例。

/p:DeployOnBuild=True
/p:DeployTarget=MsDeployPublish
/p:CreatePackageOnPublish=True
/p:MSDeployPublishMethod=RemoteAgent
/p:MSDeployServiceUrl=http://[YOUR WEBSERVER URL]
/p:DeployIisAppPath="NAME-OF-WEBSITE-IN-IIS"

答案 1 :(得分:1)

经过几天的搜索,我发现了这个问题。

/p:DeployOnBuild=True 
/p:DeployTarget=MSDeployPublish 
/p:MsDeployServiceUrl=[ip address]/MsDeploy.axd 
/p:MSDeployPublishMethod=WMSVC 
/p:CreatePackageOnPublish=True 
/p:DeployIisAppPath=[name of website in iis]
/p:AllowUntrustedCertificate=True 

事实证明,发布方法是罪魁祸首。 RemoteAgent无法正确解释部署,这就是无法序列化的原因。 WMSVC是发布方法的适当设置。