Как использовать Grunt / Gulp с pm2?
pm2-отличный инструмент для управления приложениями узлов. Как это работает с grunt / glup ? Я не нашел никаких полезных подсказок после гугления в течение 20 минут.
2 ответов
если я хорошо понимаю ваш вопрос, кажется, вы хотите развернуть свое приложение.
С pm2 0.9
развертывание можно выполнить с помощью pm2 deploy
см. README.
в случае хрюканья / глотка я вижу два варианта:
-
ты свой
node_modules
comitted. Используяpm2 deploy
запустите процесс глотка из :"post-deploy" : "node ./node_modules/gulp/bin/gulp.js ./GulpFile.js && pm2 startOrRestart ecosystem.json --env production"
-
используя базовый скрипт, который запустит
npm install
для вас, вы мог бы использоватьpackage.json
хрюкать/залпом:"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" },
мой глоток обычно нуждается в bower для минимизации сценариев, поэтому я оставил его только для примера.
вы можете объединить два варианта, чтобы pm2 deploy
установить npm
скрипты и postinstall
скрипт package.json
.
обратите внимание, что я использую относительный путь к gulp
двоичный модуль! Это просто, чтобы избежать проблемы, если глобальный модуль не установлен.
сейчас, в мое мнение для развертывания приложения в производстве лучше просто иметь ветку git, где все предварительно проглочено, так что вы только клонируете эту ветку, и вам хорошо идти. Это также улучшает время развертывания, особенно если вы выполняете тесты с gulp или grunt...
надеюсь, это достаточно ясно!
ответ может быть поздно это должно быть полезно для других
в командной строке выполните:
$ export NODE_ENV=production
будет настройка производства окружающей среды
$ grunt build
создаст необходимые мин.js и мин.в CSS
$ pm2 start server.js
загрузит сервер с pm2
, что его пакет, который гарантирует, что сервер узла перезапустится, если ошибка и войдет в журнал.