将azure app服务与webpack + nodejs一起使用,无需长时间部署中断

时间:2016-12-08 23:09:29

标签: node.js azure webpack azure-web-sites

我尝试将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?

1 个答案:

答案 0 :(得分:2)

尝试利用deployment slot来阻止应用在此期间无法使用,而不是减少部署中断时间。

Per Azure的文档,

  

首先将Web应用程序部署到插槽并将其交换到生产环境中   确保在插入之前预热插槽的所有实例   换成生产。这可以消除部署时的停机时间   网络应用。流量重定向是无缝的,没有请求   因交换操作而掉线。整个工作流程都可以   通过在未进行交换前验证时配置自动交换来实现自动化   需要的。

如何将部署广告位添加到网络应用中,请参阅https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-staged-publishing了解详情。