生産でRailsアプリケーションがファイルshared/.env.production
このようなコンテンツがあります。特定のRailsのenv変数
DB_NAME=db
DB_PASSWORD=pass
を、このファイルを処理する宝石は何ですか?私はそのような慣習についてどこで読むことができますか?開発時にこれを設定する方法は?
生産でRailsアプリケーションがファイルshared/.env.production
このようなコンテンツがあります。特定のRailsのenv変数
DB_NAME=db
DB_PASSWORD=pass
を、このファイルを処理する宝石は何ですか?私はそのような慣習についてどこで読むことができますか?開発時にこれを設定する方法は?
dotenv(dotenv-rails宝石を介して)から見ることができます。
私は、通常.env
ファイルをshared
フォルダではなくルートに配置していると思います。
これには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}