我在这里有点亏了,检查了所有通常的嫌疑人。
最令人困惑的事情之一是,我可以通过Visual Studio在Build Agent服务器上部署,使用相同的URL到相同的服务器,相同的代码(从最新版本的构build代理文件夹中直接复制Visual Studio解决scheme)
但是,当通过TFS 2015进行构build时,我看到以下内容:
C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v14.0 \ Web \ Microsoft.Web.Publishing.targets(4276,5):错误:Web部署任务失败。 (无法完成对远程代理URL“ https:// siteurl:8172 / msdeploy.axd?site = sitename ”的请求。)
- 使用apache 2.2作为Microsoft Team Foundation Server 2015的反向代理的问题
- 在Windows Server 2008和SQL Server 2008上安装TFS 2008时出错
- TFS 2010 – 只能安装构build服务
- 更改WSS 3.0以指向新的SQL实例
- Windows事件日志中的很多login/注销事件
此错误表示您无法连接到服务器。 确保服务URL正确,此计算机和服务器计算机上的防火墙和networking设置configuration正确,服务器上已启动相应的服务。
错误详情:
无法完成对远程代理程序URL“ https:// siteurl:8172 / msdeploy.axd?site = sitename ”的请求。
底层连接已closures:发送时发生意外错误。
无法从传输连接读取数据:现有连接被远程主机强制closures。
现有的连接被远程主机强制closures
另外,当TFS执行构build时,目标IIS服务器上的WMsvc日志不会显示请求到达服务器,但是当Visual Studio执行构build时,它确实到达服务器。
在TFS中传递的MSBuild参数(为了便于阅读,添加了换行符):
/p:GenerateBuildInfoConfigFile=false /p:DeployOnBuild=true; DeployTarget=MSDeployPublish; MSDeployPublishMethod=WMSvc; EnableMSDeployBackup=False; DeployIisAppPath=sitename; MsDeployServiceUrl=https://siteurl:8172/msdeploy.axd; AllowUntrustedCertificate=True; username=$(Web Deploy Username); password=$(Web Deploy Password); SkipExtraFilesOnServer=True
构build定义是从另一个工作构build中复制的,只有URL和configuration的变化。
这似乎是一个networking问题,但我不知道为什么它会从同一台服务器通过Visual Studio工作,但不是通过TFS,如果源(TFS生成代理服务器)和目标(IIS Web服务器)是相同的,端口是一样的,都使用https,Web部署等
任何想法如何进一步debugging?
附加信息:
目标服务器:Windows Server 2012 R2(Azure上的VM)