2012-08-30 66 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