Node.js のデプロイメント設定/構成ファイルを保存するにはどうすればいいですか? 質問する

Node.js のデプロイメント設定/構成ファイルを保存するにはどうすればいいですか? 質問する

私はいくつかの Node アプリに取り組んでおり、デプロイメント関連の設定を保存する適切なパターンを探していました。Django の世界 (私が属する世界) では、settings.py標準設定 (タイムゾーンなど) を含むファイルを用意し、次にlocal_settings.pyデプロイメント固有の設定 (通信するデータベース、memcache ソケット、管理者の電子メール アドレスなど) を格納するのが一般的です。

私は Node 用の同様のパターンを探していました。設定ファイルだけがあれば、他のすべてのものと混在させる必要がなくなるのでapp.js便利ですが、ソース管理外のファイルにサーバー固有の設定を入れる方法があることが重要だと思います。同じアプリが、設定が大きく異なる複数のサーバーに展開される可能性があり、マージの競合などに対処しなければならないのは、私にとって楽しいことではありません。

では、これには何らかのフレームワークやツールがあるのでしょうか、それとも誰もが自分で何かをハックするのでしょうか?

ベストアンサー1

私はpackage.jsonパッケージに を使用し、config.js構成には を使用します。構成は次のようになります。

var config = {};

config.twitter = {};
config.redis = {};
config.web = {};

config.default_stuff =  ['red','green','blue','apple','yellow','orange','politics'];
config.twitter.user_name = process.env.TWITTER_USER || 'username';
config.twitter.password=  process.env.TWITTER_PASSWORD || 'password';
config.redis.uri = process.env.DUOSTACK_DB_REDIS;
config.redis.host = 'hostname';
config.redis.port = 6379;
config.web.port = process.env.WEB_PORT || 9980;

module.exports = config;

プロジェクトから設定を読み込みます:

var config = require('./config');

そして、、などから自分のものにアクセスできるようになりますconfig.db_hostconfig.db_portこれにより、ハードコードされたパラメータを使用することも、ソース管理にパスワードを保存したくない場合は環境変数に保存されたパラメータを使用することもできます。

また、 を生成しpackage.json、依存関係セクションを挿入します。

"dependencies": {
  "cradle": "0.5.5",
  "jade": "0.10.4",
  "redis": "0.5.11",
  "socket.io": "0.6.16",
  "twitter-node": "0.0.2",
  "express": "2.2.0"
}

プロジェクトをローカルマシンにクローンしたら、npm installパッケージをインストールします。詳細についてはここ

プロジェクトは GitHub に保存され、運用サーバー用のリモートが追加されています。

おすすめ記事