我正在尝试在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部署到测试框时,我们没有任何问题。任何帮助将不胜感激。
答案 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是发布方法的适当设置。