Ruby on Rails

dotenvというgemを使ってRailsで環境変数を管理する

投稿日:

Railsアプリケーションで環境変数を管理する方法は色々あると思いますが、普段よく使うのがdotenvというgemです。

メモがわりにその方法を書いていきます。

 

まず使うgemをGemfileに記述します。

 

Gemfileに追加したらそれをインストールしましょう。

 

これで準備は完了です。

あとはプロジェクト直下(appディレクトリやconfigディレクトリなどと同じ階層)に.envという名前のファイルを作成して、そこに環境変数を書いていきます。

例えばawsのシークレットキーを管理したい場合は以下のような感じです。

 

これを他のファイルから使う際にどのように使うかですが、

というようなコードを書いてあげれば使えます。

 

気をつけるべきなのは、この.envファイルをgitignoreすることです。

なので.gitignoreファイルに以下の記述を加えます。

 

これでOKです。

staging環境や本番環境では、直接.envファイルを作成し、そこに環境変数を直接書き込んでいきます。

 

ただ、変数の数が多くなるとその管理が大変です。というのも.envファイルはgit管理されていないからです。

なので、変数の項目だけをgit管理してあげましょう。

そのためのファイルとして、.env.orgのようなファイルをプロジェクト直下に作成します。

その中身は、変数の名前だけを列挙したような形です。

そして、このファイルはgitignoreをする必要ありません。

本番環境などでは、このファイルをコピーして.envファイルを作成すると楽です。

 

以上Ruby on Railsにおける環境変数の管理についてでした。

-Ruby on Rails

Copyright© 独学エンジニアの記録帳 , 2019 AllRights Reserved.