适合部署节点应用程序的工作流程

xSh*_*ase 5 git deployment node.js

我在过去几个月里一直在学习Node,现在有一个复杂的应用程序.我的问题是,我想让它重复使用,因为我是一个完整的菜鸟,我从一开始就没有想到这一点.

是)我有的 :

使用pm2作为守护程序运行的复杂节点/快速应用程序.

  • 许多子进程脚本,一些在Node中,一些使用casperjs/phantomjs

  • 数据库凭据,服务器端口等的配置文件

  • 许多npm依赖项,一些用于应用程序本身,一些仅由子进程使用.应用程序本身运行正常,每个路径都存储在配置文件中,因此部署不应该太难.

  • package.json文件中的所有npm依赖项

我想做什么:

  • 将应用程序存储在GIT仓库中,以便我可以在EC2实例上快速设置它.
  • 安装pm2,phantomjs/casperjs,所有node_modules并以简单的方式创建应用程序的树状结构(包括一些用于应用程序创建的文件的空文件夹),因此那些不了解应用程序的人可以获取它并且跑得快.

我的问题 :

  • 我是否需要将node_modules添加到我的git repo中?

  • 如何以最简单的方式集成应用程序部署,安装依赖项以及安装pm2,phantom和casper?我不介意制作一个剧本,但我真的不知道从哪里开始或最佳实践.我在网上看到的大部分内容都与nodejitsu/heroku有关,并不适用.

我的缺点:

  • Git新手
  • 没有遵循任何开发指南,因为它始于一个玩具项目.

希望我的问题是可以理解的,谢谢大家!

编辑:

我到目前为止:

仍在试图弄清楚如何包含外部依赖项.

spi*_*lio 3

一种部署方法是添加命令的安装列表:

  1. 克隆存储库
  2. 安装依赖项apt-get install npm ...
  3. 安装节点全局模块npm install -g pm2
  4. 安装节点依赖项npm installnpm update
  5. 复制config.example.jsonconfig.json更改为您的需要
  6. 启动应用程序pm2 index.js

不应将 node_modules 文件夹添加到 git 存储库中。您应该将所有项目节点依赖项添加到 package.json 文件中,并且npm install/npm update应该完成其余的工作。