我为我的 Azure 部署定义了一个自定义部署脚本(*.sh 脚本)。
就在今天,我发现我无法发布。我更新了我的 bitbucket 存储库,过了一会儿,我收到类似于以下内容的错误:
命令“starter.cmd deploy_pvl_cont ...”由于 180 秒内没有输出或 CPU 事件而中止。如果需要,您可以增加 SCM_COMMAND_IDLE_TIMEOUT 应用设置(如果这是 WebJob,则增加 WEBJOBS_IDLE_TIMEOUT)。\r\nstarter.cmd deploy_pvl_content.sh
我尝试了多种方法来尝试诊断问题。
- 将 SCM_COMMAND_IDLE_TIMEOUT 增加到 300
- 在本地运行脚本(有效)
- 设置一个新的部署槽并尝试发布相同的提交(相同的错误)
- 尝试发布之前成功的提交(同样的错误)
- 在诊断日志转储中查找有用的错误消息(没有找到任何更有用的信息)
- 尝试从 Kudu 控制台运行部署脚本(没有返回输出,就像它没有实际运行一样)
- 尝试按照 @david-ebbo 的建议将 git 恢复到以前的版本
- 尝试将我的脚本简化为单个 echo 命令,但结果相同
不知道我能做些什么来进一步调试这个问题。理想情况下,我想获取 azure 主机上 shell 脚本的输出,但不知道如何获取它。有什么想法吗?
最佳答案
更新答案
这是由于 Azure 中迁移到 git 2.8.x 导致的回归。该问题由 https://github.com/projectkudu/kudu/issues/2041 跟踪.
这里有一个非常简单的解决方法(您不需要需要引入旧的 git 工具):而不是将您的 COMMAND
设置为 deploy_pvl_content。 sh
,将其设置为bashdeploy_pvl_content.sh
我们将解决该问题,但此解决方法将帮助您继续下去。
原始答案(仅保留上下文)
您可能会遇到类似 this issue 的情况。 ,这是由于我们刚刚升级到 git 2.8.1 导致的。
当我们试图找出问题的根源时,请尝试此解决方法看看是否有帮助:
- 前往 Kudu 控制台
- 创建
d:\home\bin
文件夹 - 将旧的 Windows git 1.8.x 文件夹复制到其中。您可以从here获取内容。如果将 zip 拖放到 Kudu 控制台中,则会有一个特殊的解压缩放置区域来展开它。
- 再次尝试部署
关于Azure 网站 Kudu 发布因超时而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37739407/