2016-07-05 7 views
-1

生産でRailsアプリケーションがファイルshared/.env.productionこのようなコンテンツがあります。特定のRailsのenv変数

DB_NAME=db 
DB_PASSWORD=pass 

を、このファイルを処理する宝石は何ですか?私はそのような慣習についてどこで読むことができますか?開発時にこれを設定する方法は?

答えて

1

dotenvdotenv-rails宝石を介して)から見ることができます。

私は、通常.envファイルをsharedフォルダではなくルートに配置していると思います。

2

これにはDotenvの宝石を使用できます。現在のリリースフォルダ内にシンボリックリンクshared/.env.productionを作成します。おそらく、余分な接尾辞.productionは必要ありません。しかし、何らかの理由でそれを必要とする場合は、サーバが起動する前にを使って手動で.env.productionをロードする必要があります。 Unicornを使用している場合は、unicorn.rbに次のような文字を入力できます。

after_fork do |server, worker| 
    Dotenv.overload("#{Rails.root}/.env.production") 
    defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection 
end 

あなたはカピストラーノを使用し、カピストラーノはあなたのためのシンボリックリンクを作成したい、とlinked_filesのリストにファイルを追加する場合:

set :linked_files, %w{.env.production}