pm2是管理节点应用的绝佳工具。它如何与grunt / glup一起使用? 谷歌搜索20分钟后,我没有找到任何有用的线索。
答案 0 :(得分:6)
如果我理解你的问题,似乎你想要部署你的应用程序。
由于pm2 0.9
可以使用pm2 deploy
see README进行部署。
在grunt / gulp的情况下,我看到两个选项:
您的node_modules
已被评出。使用pm2 deploy
从post-deploy
部分运行您的gulp流程:
"post-deploy" : "node ./node_modules/gulp/bin/gulp.js ./GulpFile.js && pm2 startOrRestart ecosystem.json --env production"
使用将为您启动npm install
的基本脚本,您可以使用package.json
来咕噜/ gulp:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js",
"postinstall": "./node_modules/bower/bin/bower -q -s -f install && ./node_modules/gulp/bin/gulp.js"
},
我的gulp通常需要使用bower来缩小脚本,所以我只是为了示例目的而离开它。
您可以将这两个选项结合起来,让pm2 deploy
安装npm
脚本,并在postinstall
中添加package.json
脚本。
请注意,我正在使用gulp
模块二进制文件的相对路径!如果未安装全局模块,则只是为了避免出现问题。
现在,在我看来,在生产中部署一个应用程序,最好只需要一个git分支,其中所有内容都已预先准备好,这样你只能克隆那个分支,你就可以了。它还可以缩短部署时间,特别是如果您正在使用gulp或grunt运行测试......
希望足够清楚!
答案 1 :(得分:1)
回复可能会迟到,但必须对他人有用
在命令行上执行:
$ export NODE_ENV=production
将设置生产环境
$ grunt build
将创建必要的 min.js 和 min.css
$ pm2 start server.js
将使用pm2
加载服务器,它的包将确保节点服务器在出现错误时将重新启动并将记录。