我该如何修复部署错误 'starter.cmd "D:\home\site\d ..."' 已中止

How can i fix the deployement error 'starter.cmd "D:\home\site\d ..."' was aborted

我在通过链接到我的 azure repos 存储库的 CD 将我的 nodejs 代码部署到 azure 应用程序服务时遇到此错误:

"Command 'starter.cmd "D:\home\site\d ...' was aborted due to no output nor CPU activity for 60 seconds. You can increase the SCM_COMMAND_IDLE_TIMEOUT app setting (or WEBJOBS_IDLE_TIMEOUT if this is a WebJob) if needed.\r\nstarter.cmd "D:\home\site\deployments\tools\deploy.cmd""

有什么想法吗?谢谢:)

默认情况下,当您的构建过程启动某些命令时,允许 运行 最多 60 秒而不产生任何输出。如果这还不够长,你可以让它更长,例如使其成为 10 分钟:

SCM_COMMAND_IDLE_TIMEOUT=600

请注意,在 Azure 上,一般空闲请求超时会导致客户端在 230 秒后断开连接。但是,该命令仍将在此之后 运行ning 服务器端继续。

您可以通过转到 Azure 门户 > select 您的 Web 应用程序 > 在设置下单击配置选项卡并添加新应用程序设置 SCM_COMMAND_IDLE_TIMEOUT 来完成此操作,例如 600

同意 Sneha 分享的解决方案

  1. 我的第一个解决方案是在网络应用程序的应用程序设置中将“SCM_COMMAND_IDLE_TIMEOUT”增加到 600。
  2. 或者,如果期待一个连续的 webjob,这不是默认情况下发生的事情(即使 webjob 根据规则显示 运行 直到超时)。这是必须在 Visual Studio Publish properties as detailed here
  3. 中选择的内容

选择连续并发布网络作业后,此错误就会消失

  1. 如果您使用 vnet 集成,您需要在应用程序设置中删除 WEBSITE_VNET_ROUTE_ALL=1。部署将成功。如果没有此设置,Web 应用仅将 RFC1918 流量路由到 VNet。

本文档包含有关 integration with virtual network

的更多信息