无法将 Web 包部署到应用服务,错误代码为 ERROR_DESTINATION_INVALID

Posted

技术标签:

【中文标题】无法将 Web 包部署到应用服务,错误代码为 ERROR_DESTINATION_INVALID【英文标题】:Failed to deploy web package to App Service with Error Code ERROR_DESTINATION_INVALID 【发布时间】:2022-01-14 18:28:47 【问题描述】:

我正在从以前成功的部署重新部署到 Azure DevOps Release Pipeline 上的相同环境。尽管第一次成功,但重新部署失败并出现以下错误:

##[错误]未能将 Web 包部署到应用服务。 ##[错误]错误代​​码:ERROR_DESTINATION_INVALID 更多信息:无法连接到 远程计算机(“xxx.scm.azurewebsites.net”)。 确保远程计算机名称正确且您是 能够连接到那台计算机。了解更多信息:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_INVALID. 错误:无法解析远程名称: 'xxx-staging.scm.azurewebsites.net' 错误计数:1。

自第一次成功部署以来,部署管道未更改。之所以有 xxx-staging 端点是为了插槽部署。

有趣的是,这两个端点xxx-staging.scm.azurewebsites.netxxx.scm.azurewebsites.net 并不稳定,有时它们会关闭,然后在一段时间后会自行恢复。我在第二次部署时才意识到这一点。

会不会因为 scm 门户关闭而导致部署不成功?这可能是天蓝色端的错误吗?我该如何调查?

【问题讨论】:

确保发布管道在正确的主机上运行。由于端点对于 SCM 也是私有的,因此 DevOps 代理必须位于可以访问端点的网络中,因此必须使用自托管的 DevOps 代理。 【参考方案1】: 回到构建管道,创建一个新的构建管道(已经成功,构建正常,然后发布一个新版本。

由于 DNS 记录被传播和缓存(以及负缓存),您需要等待一段时间以使负缓存过期。

确保发布管道在正确的主机中运行。由于端点对于 SCM 也是私有的,因此 DevOps 代理必须位于可以访问端点的网络中,因此必须使用自托管的 DevOps 代理。

将以下内容设置/添加到应用程序设置中,看看是否有帮助。

Name: WEBSITE_WEBDEPLOY_USE_SCM
Value: false
点击获取发布配置文件下载发布配置文件。 在将应用程序服务从 Visual Studio 发布到 Azure 时导入发布配置文件。

这有效地禁用了 SCM 并使您能够将应用程序服务发布到 Azure。

更多详情请参考SO线程

【讨论】:

以上是关于无法将 Web 包部署到应用服务,错误代码为 ERROR_DESTINATION_INVALID的主要内容,如果未能解决你的问题,请参考以下文章

无法将 Web 包部署到应用服务“磁盘空间不足”

无法将应用程序部署到 shinyapps.io:无法确定包源

将Web项目War包部署到Tomcat服务器基本步骤(完整版)

将Web项目War包部署到Tomcat服务器基本步骤(完整版)

将Web项目War包部署到Tomcat服务器基本步骤

无法使用 github 操作将 React Web 应用程序部署到 Firebase 项目