Как развернуть с помощью PM2 и Grunt

Я использую angular-fullstack для своего приложения. Я хочу запускать свои приложения с помощью pm2.

Angular-fullstack запускает режим prodcution с помощью grunt serve:dist, он выполняет несколько задач, включая настройку переменных среды.
Похоже, что PM2 запускает приложение с файлом js. как 2_

Мой вопрос:
Как мне использовать PM2 для запуска моего приложения в рабочем режиме с Grunt?

Я знаю, что мой основной файл приложения — server/app.js, но я не могу просто сделать pm2 start server/app.js, потому что эти переменные среды не установлены должным образом.


person Wint    schedule 06.11.2014    source источник
comment
Пожалуйста, посмотрите мой ответ здесь   -  person soyuka    schedule 06.11.2014
comment
Привет, союка, я заметил твой ответ там. но: 1. Я не коммитил node_modules. 2. Не могу найти скрипт входа для grunt. этот скрипт не работает: node ./node_modules/grunt/lib/grunt.js serve . Спасибо за помощь!   -  person Wint    schedule 07.11.2014


Ответы (2)


Альтернативой является запуск grunt напрямую с помощью pm2:

cd /path/to/fullstack
pm2 start grunt --name website -- serve
person morloch    schedule 15.10.2015

Я, наконец, получил работу pm2 с ворчанием. просто используйте /usr/bin/grunt в качестве стартового скрипта, и pm2 работает хорошо, аргумент передается в разделе args.
Вот мой конфигурационный файл экосистемы.json. (Я использую развертывание pm2)

{
  "apps" : [{
    "name"      : "myapp",
    "script"    : "/usr/bin/grunt",
    "args"        : "['serve:dist']"
  }],
  "deploy" : {
    "production" : {
      "user" : "user-name",
      "host" : "server-address",
      "ref"  : "origin/develop",
      "repo" : "git-url",
      "path" : "/opt/deploy",
      "post-deploy" : "npm install && bower install && pm2 startOrRestart ecosystem.json --env production"
    }
  }
}
person Wint    schedule 09.11.2014
comment
У меня возникла проблема, похожая на вашу. Я использую grunt server для запуска своего приложения.. и я хочу, чтобы pm2 отслеживал grunt server, который я сделал.. не могли бы вы помочь мне, как этого добиться? или мне нужно использовать тот же ответ, который вы даете? - person Eka Rudianto; 07.10.2015