通过foreverjs执行gulp-tasks

Execute gulp-tasks via foreverjs

我目前正在努力构建启动我的网络应用程序的脚本。

我想使用 foreverjs,因为我已经用它启动了我的后端。我的 json-file,将由 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/"
 }
]

我不太确定我应该在前端使用什么。我需要使用 gulp,所以我假设我必须在 'command' 中添加它。但是,我的脚本需要为空,这是 foreverjs 不允许的。关于如何通过 foreverjs 运行 gulp 有什么建议吗?

我自己解决了,为我的 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 "" 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

基本上使用 /path/to/forever start --workingDir 'mydir' /path/to/gulp [gulpTask] 有效。