Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一步部署node.js应用程序_Node.js_Deployment - Fatal编程技术网

一步部署node.js应用程序

一步部署node.js应用程序,node.js,deployment,Node.js,Deployment,我们刚刚完成了node.js应用程序的开发,该应用程序包括一个Restful API和一个Mssql数据库 我需要在拥有Windows 2008和Windows 2012环境的公司的内部服务器中部署该应用程序 我想要达到的目标: 最好的情况是在一个步骤中进行部署 我目前正在做的是: 在目录中克隆项目 运行npm安装(最佳情况是将所有依赖项放在一个文件夹中,以避免版本或npm出现问题) 使用脚本部署数据库 使用pm2 process manager启动流程 是否有办法将所有这些步骤打包成一

我们刚刚完成了node.js应用程序的开发,该应用程序包括一个Restful API和一个Mssql数据库

我需要在拥有Windows 2008和Windows 2012环境的公司的内部服务器中部署该应用程序

我想要达到的目标:

  • 最好的情况是在一个步骤中进行部署
我目前正在做的是:

  • 在目录中克隆项目

  • 运行npm安装(最佳情况是将所有依赖项放在一个文件夹中,以避免版本或npm出现问题)

  • 使用脚本部署数据库

  • 使用pm2 process manager启动流程

是否有办法将所有这些步骤打包成一个简单的步骤? 比如说docker的替代品?(我无法使用docker,因为它与大多数操作系统不兼容)

是否有办法将所有这些步骤打包成一个简单的步骤

对。您可以编写一个脚本来完成所有这些

即使不编写这样的脚本,您也可以轻松地将前两个步骤结合起来。为了简化前两个步骤,可以使用
npm install--global
使项目全局可安装。只需执行以下操作,即可安装托管在GitHub上的项目:

npm install -g username/repo
它将安装您的项目及其所有依赖项

您还可以在npm上使用私有包,甚至可以使用私有npm注册表


您也可以通过这种方式在一个步骤中安装启动脚本和db deploy脚本,因为您的模块可以安装多个可执行文件。

您能否更详细地了解
npm install global
和'npm install-g username/repo'命令?我必须从某个目录运行它们吗?我运行了这些命令,只能找到一个项目名为C:\Users\%User%的空文件夹