在.NET环境下,MSDeploy WMSVC无法工作

18

我有一个构建/测试服务器, 目前正在运行Jenkins进行持续集成, 同时也作为我的测试服务器,代码构建完成后会部署到这里(如果预算允许,我希望在以后的某个时间点解决这个问题并将它们分开)。

我有一个.NET Web解决方案(基本上只是Umbraco),保存在SVN中,现在Jenkins已经成功构建。我现在想使用MSDeploy将其部署到同一台服务器上。在构建完成后生成了软件包,但是部署失败并显示以下错误:

ERROR_DESTINATION_NOT_REACHABLE: Web deployment task failed. (Could not connect to the remote computer ("xxxxx.xxxxxxx.xxx.xxxx"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started

这是Jenkins使用的msbuild参数:

/P:Configuration=Release 
/P:DeployOnBuild=True 
/P:MSDeployPublishMethod=WMSVC 
/P:DeployTarget=MSDeployPublish 
/P:PublishProfile=GetSomePixels 
/P:MsDeployServiceUrl=https://build.######## 
/P:AllowUntrustedCertificate=True 
/P:CreatePackageOnPublish=True 
/P:UserName=####### 
/P:Password=########

我已经检查了服务器,Web管理服务正在运行,并且可以手动启动。

我还进入了IIS 8管理器(服务器2012),在“管理服务”下勾选了“允许远程连接”框。重启了IIS和WMSVC,但仍无法工作。

如果我在浏览器中打开https://myserver.co.uk:8172/MsDeploy.axd,它会解析(显示未受信任证书的警告),然后显示一个空白页面。

有没有人有任何想法?我认为可能与防火墙有关,尽管我已经为8172添加了Windows防火墙的异常,但我已将整个防火墙关闭以完全排除该因素,但仍然没有用。

已在服务器上运行此命令以检查它是否在正确的端口上侦听:

C:\Users\Administrator>netstat -a | findstr 8172 TCP 0.0.0.0:8172 GSP-BUILD:0 LISTENING TCP [::]:8172 GSP-BUILD:0 LISTENING


21
好的,我会尽力进行翻译。以下是需要翻译的内容:好的,我已经解决了这个问题。似乎你需要先激活Web管理服务,然后再安装Web Deploy,而我之前是反过来做的。我卸载了WebDeploy并重新安装它,重新启动了服务器,现在它可以正常工作了。 - Ian Davies
1
从你的评论中提出一个答案。这是一个重要的建议。谢谢。 - Askolein
1
确实有效!Askolein 给了你一个好建议,@ian-davies - Andrii
1
@IanDavies 请把你的评论作为答案并标记一下。上周五我大部分时间都在努力解决这个问题,现在才发现了这个答案。我的头痛感谢你的帮助。 - Piers Karsenbarg
1
我也遇到了同样的问题。在安装WebDeploy时,不要选择经典安装,而是选择完整安装。 - Farb
2个回答

15

好的,我已经解决了这个问题。看起来你需要先激活Web管理服务,然后再安装Web Deploy,而我做反了。我卸载了WebDeploy并重新安装了它,重启了服务器,现在它可以正常工作了。


4

同意评论。

我们曾遇到类似的问题。即使激活Web管理服务后,初始安装似乎也是不完整的。在我们的情况下,尽管服务显示已启动,但在定义配置文件时测试连接时我们无法获得绿色的勾选。重新安装WebDeploy 3.6使其正常运行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接