我们使用 msdeploy.exe
和预构建的包对 Azure 进行了大量部署。我们间歇性地但相当频繁地遇到故障(显然是网络问题)。
命令是,
C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe
-verb:sync -source:package=D:\packages\mysite.zip
-dest:auto,ComputerName=https://mysite-staging.scm.azurewebsites.net:443/msdeploy.axd?site=mysite__staging,UserName='$mysite__staging',Password='longpassword',AuthType='Basic'
-retryAttempts:10
-retryInterval:3000
-setParam:name='foo1',value='bar1'
-enableRule:AppOffline
-setParam:name='foo2',value='bar2'
-allowUntrusted=True
它通常工作正常,但有时会失败并显示以下消息:
Error Code: ERROR_CONNECTION_TERMINATED
-retryAttempts
和 -retryInterval
选项似乎效果为零。错误发生在我添加它们之前,现在添加它们之后,没有区别。 msdeploy 没有输出表明正在重试。 在让 msdpeloy 重试时我是否遗漏了什么?
所有内容(包括运行 msdeploy 的计算机)都托管在 Azure 的同一区域中。不存在任何底层网络问题,尤其是在 30,000 毫秒内 - SCM/Kudu 或 msdeploy 在更高层上失败。
最佳答案
对我来说,这个问题有时是由于 Fiddler 和(更常见的是)由于互联网速度慢而发生的。
此外,您可以尝试使用 Kudu 命令,例如 msdeploy 和 SCM_COMMAND_IDLE_TIMEOUT 的扩展,您可以设置 => Web 应用程序设置 => 应用程序设置 => 添加具有所需值的设置(例如 360(以秒为单位)) )。 Reference 。它说任何外部命令都会在一段时间后被杀死,所以也许它可以相关。
关于azure - 尽管重试切换,MSDeploy 到 Azure 站点仍频繁失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37142925/