在webpack + nodejs中使用azure应用程序服务,无需长时间部署中断

我试图用我的(相当大的)NodeJS应用程序使用webpack,使用Git连续部署作为Windows Azure应用程序服务部署。

我定制了我的kudu deploy.sh脚本来运行webpack,但是在Azure App Service上需要花费几分钟的时间才能运行,并且在这段时间内应用程序不可用。 在我的开发笔记本电脑上,运行webpack只需要大约30秒(我可以接受作为部署中断时间),但我猜测使用SSD的笔记本电脑使这个运行速度更快?

如果我使用的是一个部署脚本,我只需要在我的开发机器上运行这个webpack并把结果推送到服务器上,但是我使用git进行连续部署,而且我不想提交不断变化的webpack-生成的代码到Git仓库。

有没有办法在Azure应用程序服务基NodeJS应用程序运行webpack-on-deploy部署时没有这么大的停机时间?

而不是减less部署停机时间尝试利用deployment slot以防止在此期间应用程序不可用。

根据Azure的文档,

首先将Web应用程序部署到插槽,然后将其交换到生产环境,确保插槽的所有实例在交换到生产之前都预热完毕。 这可以消除部署Web应用程序时的停机时间。 stream量redirect是无缝的,并且由于交换操作而没有请求被丢弃。 当不需要预交换validation时,可以通过configuration自动交换来自动完成整个工作stream程。

如何将部署插槽添加到Web应用程序,请参阅https://docs.microsoft.com/en-us/azure/app-service-web/web-sites-staged-publishing了解详细信息。