处理适用于Azure Web应用程序的Nodejs应用程序的节点模块的最佳实践是什么?

时间:2019-07-03 20:15:49

标签: node.js azure-devops pipeline continuous-deployment

我在Azure Web应用程序服务上托管了一个nodejs(使用nestjs框架)api。我曾经使用本地git部署来部署应用程序。一切正常,但是NPM安装和构建应用程序不一致。因此,我开始研究部署应用程序的替代方法。我遇到了Azure-Devops,并尝试了一下。到目前为止,我已经注意到部署过程中有很多改进之处。部署是一致的,部署时间至少缩短了50%。

这是我当前的管道流程:

内部版本:

  1. 指定节点版本
  2. 指定npm版本
  3. NPM安装
  4. NPM版本
  5. 存档文件
  6. 发布工件

发布

  1. Azure App服务部署

我已经可以使用它了,但是我不确定将node_modules安装到Web应用程序的最佳实践是什么。

当前,我正在使用Azure门户界面上的控制台对话框来安装NPM软件包。这不是很一致,有时会出现超时问题。

如果我使用Azure-Devops,应该如何为我的Web应用程序执行NPM软件包安装?

  1. 在发布工件之前,我应该将NPM软件包包含到存档文件中吗?

  2. 我应该添加部署后操作来执行npm install吗?

  3. 其他选项?


更新

我继续测试将node_modules与存档一起使用,还尝试执行发布任务中的部署后操作。

  1. 在存档中包含node_modules 归档构建文件所花费的时间更长。发布相对较快。存档文件的大小从14kb增加到35mb。我认为总体而言,构建和发布所需的时间增加了20%。

  2. 部署后操作 部署后的npm install花了额外的3分钟来安装软件包。这似乎是安装软件包的更正确方法。我只是不确定Azure Web应用程序上npm install的一致性。

0 个答案:

没有答案