所以我刚读了几篇博客,在一个天蓝色的网页应用程序中将SCM_REPOSITORY_PATH设置为D:\ local \ repository可以加快NPM / WebPack的构建时间。我尝试通过门户网站和.deployment脚本将其添加到我的应用程序的应用程序设置中,但它似乎被忽略了。 Kudu文档和来自MS人员的视频均表示支持,但在我的案例中似乎完全被忽略了。
我错过了什么吗?
答案 0 :(得分:1)
据我所知,如果将SCM_REPOSITORY_PATH设置为D:\ local \ repository,它将提高NPM / WebPack构建时间的速度。
在这里,我还使用azure web app从github继续部署,在我身边创建了一个测试演示。
我的项目是net core2.0角度模板。
我只是在azure门户中添加appsetting,如下所示:
结果如下:
详细日志,您可以发现它可以提高运行webpack的速度。
答案 1 :(得分:0)
他们没有说谎,设置SCM_REPOSITORY_PATH="D:\local\repository"
会告诉kudu将源代码下载到Web服务器的本地驱动器,所有文件系统相关操作都是在本地执行而不是通过网络执行(D:\home
映射到一个持久的NFS),这对IO重指令(npm)特别有用。但是有一些细节......
您无法使用.deployment
进行此设置。原因是.deployment
是您的存储库的一部分,只有在下载后才能看到kudu。这个工作流程显示了困境:
下载源代码 ==>阅读.deployment
==> 在下载期间更改存储源代码的位置... ?
D:\local
不是持久性存储,它会在每次重新启动Web服务器后重置(这就是为什么TEMP文件夹映射到D:\local\Temp
)所以如果你想要持久性使用{{1} }
D:\home
可能小于D:\local
。在免费网站上,本地驱动器为500MB,而D:\ home大约为1G ...当项目具有巨大的依赖关系树时,运行D:\home
时需要小心