【发布时间】:2016-06-10 03:24:05
【问题描述】:
我为我的 azure 部署定义了一个自定义部署脚本(*.sh 脚本)。
就在今天,我发现我无法发布。我更新了我的 bitbucket 存储库,过了一会儿我收到类似于以下内容的错误:
Command 'starter.cmd deploy_pvl_cont ...' was aborted due to no output nor CPU activity for 180 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 deploy_pvl_content.sh
我已经尝试了很多方法来尝试诊断问题。
- 将 SCM_COMMAND_IDLE_TIMEOUT 增加到 300
- 在本地运行脚本 (Works)
- 设置一个新的部署槽并尝试发布相同的提交(相同的错误)
- 尝试发布之前成功的提交(同样的错误)
- 在诊断日志转储中寻找有用的错误消息(没有找到更有用的信息)
- 尝试从 Kudu 控制台运行部署脚本(没有返回输出,就像它实际上没有运行一样)
- 尝试按照@david-ebbo 的建议将 git 恢复到以前的版本
- 尝试将我的脚本简化为具有相同结果的单个 echo 命令
不确定我能做些什么来进一步调试。理想情况下,我想在 azure 主机上获取 shell 脚本的输出,但不知道如何获取它。有什么想法吗?
【问题讨论】:
-
在本机执行这个脚本需要多长时间
-
在我的本地机器上大约需要一分钟。以前在 Azure 上发布需要 180 秒。注意:我刚刚编辑了我的问题,以表明我确实尝试增加 SCM_COMMAND_IDLE_TIMEOUT 并且虽然它等待的时间更长,但它失败并显示相同的消息。
-
如果您能够找到触发此操作的特定命令并直接从脚本外部的 Kudu 控制台复制它,那将是隔离问题的好步骤(例如,请参阅 here) .你的脚本是批处理还是 bash?
-
当它被卡住时,您还可以查看 Kudu Process explorer,它可能会指示它被卡在哪个进程中。另外,您可以直接分享您的 Web 应用程序名称还是 indirectly?这可能有助于我们调查。谢谢!
-
嗨大卫,该网站是stage.pvlighthouse.com.au。我会尽快研究其他建议。