Node Foremanで複数のプロセスを同時に起動する

Rubyで開発している時に開発環境で複数のプロセスをまとめて起動させたいときにforeman
利用することが多いですがNode.jsの実装でNode Foremanがあります。

www.npmjs.com

npmコマンドでNode Foremanをインストールします。

$ npm install -g foreman

コマンド自体は nf となります。

$ nf
_____
|   __|___ ___ ___ _____ ___ ___
|   __| . |  _| -_|     |   |   |
|__|  |___|_| |___|_|_|_|_^_|_|_|
Usage: nf [options] [command]
Commands:
start [options]        Start the jobs in the Procfile
run [options]          Run a one off process using the ENV variables
export [options]       Export to an upstart job independent of foreman
Options:
-h, --help             output usage information
-V, --version          output the version number
-j, --procfile <FILE>  load procfile FILE
-e, --env      <FILE>  use FILE to load environment
-p, --port     <PORT>  start indexing ports at number PORT

では、実際に複数のプロセスをNode foremanで起動してみます。

Procfile自体はRubyのforemanと同じなので準備します。ひとまず開発用ということで Procfile.development というファイル名で以下の様な内容を準備します。

サンプルとして先日作成したloopbackアプリ + MongoDBを動かしてみます。

web: node .
mongo: mongod --dbpath=./db

上記の様なProcfileを用意したらNode Foremanを起動します。

$ nf start -j Procfile.development

上記のコマンドでForemanを起動すると、複数プロセス(loopbackアプリとMongoDB)が起動します。

Node.jsのアプリでforemanを使いたいとき、npmの範囲でカバーできるので便利ですね。

(Visited 91 times, 1 visits today)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です