Rubyが好きなプログラマーの日記。日々の生活、開発に関するメモとか考えとか。
OpenShiftにデプロイする際、DBへの接続情報は環境変数から取得する仕組みになっている。しかし、手元の環境で、同じコードで再現するには環境変数の設定がちょっと面倒な感じ。 そこで、dotenvを使って、tDiary起動時に環境変数を読み込むようにしてみた。
まずはGemfileに
gem 'dotenv'
を追加し、続いてconfig.ru の先頭を次のようにしてみる
$:.unshift( File::dirname( __FILE__ ).untaint ) require 'dotenv' # <= ADD Dotenv.load ".env.#{ENV['RACK_ENV'].downcase}", '.env' # <= ADD require 'tdiary'
これで環境変数RACK_ENVに応じて、.evnまたは.env.developmentなどからENVを設定できるようになる。 あとはよしなにPostgreSQLにDBやユーザーを作成して、.env.developmentを作成し、
rackup ./config.ru
で、OpenShift用に書き換えたコードのtDiaryが手元で動かせる。