我尝试将webpack与我的(相当大的)NodeJS应用程序一起使用,使用Git持续部署作为Windows Azure App Service进行部署。
我自定义了我的kudu deploy.sh脚本来运行webpack,但是在Azure App Service上使用webpack需要几分钟,并且该应用程序在此期间不可用。在我的开发笔记本电脑上,运行webpack只需要大约30秒(我可以接受它作为部署中断时间),但我猜测使用SSD的笔记本电脑是否使这次运行更快?
如果我使用的是部署脚本,我只需在我的开发计算机上运行webpack并将结果推送到服务器,但我使用git进行持续部署,而且我不会这样做。我想将不断变化的webpack生成的代码提交给Git仓库。
有没有办法在部署时没有如此大的中断时间的情况下使用基于Azure应用服务的NodeJS应用运行webpack-on-deploy?
答案 0 :(得分:2)
尝试利用deployment slot
来阻止应用在此期间无法使用,而不是减少部署中断时间。
Per Azure的文档,
首先将Web应用程序部署到插槽并将其交换到生产环境中 确保在插入之前预热插槽的所有实例 换成生产。这可以消除部署时的停机时间 网络应用。流量重定向是无缝的,没有请求 因交换操作而掉线。整个工作流程都可以 通过在未进行交换前验证时配置自动交换来实现自动化 需要的。
如何将部署广告位添加到网络应用中,请参阅https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-staged-publishing了解详情。