2012-08-30 37 views
0

我正在尝试在TFS中配置一个构建以部署到我们的测试框以进行持续集成。我遇到的问题是,TFS要追加MSDEPLOYAGENTSERVICE我URL的末尾,这是造成部署返回一个套接字错误:MSBuild将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位服务器。使用上面的Url将Visual Studio 2010的发布功能部署到测试框中,我们没有任何问题。任何帮助将非常感激。

回答

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是发布方法的适当设置。

2

您不需要在您的MsDeployServiceUrl中指定MsDeploy.axd。另外,我看到你没有设置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" 
+0

我试过这种方式无济于事。我想知道现在是否与我们设置用户的方式有关。我将在服务器上运行一些测试以查看防火墙是否存在问题。 – uadrive