从Bitbucket部署至Azure App Service失败,请求解决建议
我之前在部署到Azure App Service时也碰到过一模一样的超时问题,给你几个实际试过有效的解决方向:
按照错误提示调整超时配置:直接在Azure门户操作最快捷——找到你的App Service,进入「配置」→「应用程序设置」,添加(如果没有就新建)
SCM_COMMAND_IDLE_TIMEOUT这个配置项,把值从默认的60改成180甚至300(单位是秒),保存后重新触发部署。这个参数就是用来延长部署命令的空闲超时时间的,大部分情况下改完就能解决问题。排查仓库分支的大小和状态:如果你的Bitbucket仓库master分支历史提交太多、包含大文件(比如日志、安装包),git checkout的时候会因为需要拉取大量内容而卡住超时。可以用
git filter-repo这类工具清理仓库里的冗余大文件,或者先创建一个精简的测试分支(只保留当前需要部署的代码)试试能不能成功部署,排除仓库本身的问题。查看完整部署日志找隐藏问题:去Azure App Service的「部署中心」→「日志」里拉取完整的部署日志,看看在
git checkout master --force执行之前有没有其他异常,比如Bitbucket和Azure之间的网络连接慢、权限验证卡住之类的。如果是网络问题,试试切换成本地git推送部署的方式,或者用Azure部署槽位先完成部署再交换到生产环境。临时升级App Service资源计划:如果你的App Service用的是免费或基础层,资源配额有限,执行git操作时可能因为CPU/内存不足导致无响应超时。可以临时升级到标准层的计划,部署成功后再降级回去,这种情况虽然少见,但在资源紧张的时候确实会发生。
内容的提问来源于stack exchange,提问作者raimtoon

