2016-02-16 5 views
1

Я в настоящее время борется со строительством скрипта, который запускает мое веб-приложение.Выполнять gulp-tasks через foreverjs

Я хотел бы использовать foreverjs, так как я уже начал с него работать. Мой JSON-файл, который будет выполняться foreverjs выглядит следующим образом:

[ 
{ 
    "uid": "my_backend", 
    "append": true, 
    "script": "app.js", 
    "sourceDir": "/path/to/backend/" 
}, 
{ 
    "uid": "my_frontend", 
    "append": true, 
    "script": "???", 
    "command": "gulp dist && gulp production" 
    "sourceDir": "/path/to/frontend/" 
} 
] 

Я не совсем уверен, что я должен использовать в веб-интерфейсе. Мне нужно использовать глоток, поэтому я бы предположил, что я должен добавить его в «команду». Тем не менее, мой скрипт должен быть пустым, что не допускается из foreverjs. Любое предложение о том, как я могу запустить gulp через foreverjs?

+0

В эти дни [pm2] (https://www.npmjs.com/package/pm2) намного лучший вариант;) –

+0

oh спасибо, не знал об этом – Frame91

ответ

0

Я решил это сам, используя следующий сценарий для моего init.d: ​​

WORKINGDIR=/usr/local/app/my/app 
SCRIPT='/usr/local/app/my/app/node_modules/gulp/bin/gulp.js production' 
LOG=/usr/local/app/my/app/log 
PID=/root/.forever/pids/myapp.pid 
FOREVER=/usr/local/node/node-default/bin/forever 
UID_APP='myapp' 
case "$1" in 
    start) 
     $FOREVER start --workingDir $WORKINGDIR --uid $UID_APP -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $SCRIPT 
     ;; 
    stop) 
     $FOREVER stop $UID_APP --pidFile $PID 
     ;; 
    stopall) 
     $FOREVER stopall --pidFile $PID 
     ;; 
    restartall) 
     $FOREVER restartall --pidFile $PID 
     ;; 
    reload|restart) 
     $FOREVER restart -l $LOG/forever.log -o $LOG/forever_out.log -e $LOG/forever_err.log --pidFile $PID -a $SCRIPT 
     ;; 
    list) 
     $FOREVER list 
     ;; 
    logs) 
     $FOREVER logs 
     ;; 
     *) 
      echo "Usage: /etc/init.d/myservice {start|stop|restart|reload|stopall|restartall|list}" 
      exit 1 
      ;; 
    esac 
    exit 0 

В основном с помощью/путь/к/навсегда начать --workingDir 'MYDIR'/путь/к/глотком [ gulpTask] работает.