はじめに
- 学習の覚え書として書いています
- 自己解釈ですので参考程度にご覧ください
dotenv-rails とは
- 環境変数を管理できるgem
- 環境変数 → 公開したくない情報(値)
(メールアドレスやパスワードなど)
つまりGitなどにアップする際、公開したくない情報(値)をdotenv-rails(gem)で管理することができます。
dotenv-rails 使用手順
①dotenv-railsの導入
②環境変数を記述するファイルを作成(.env)
③環境変数の記述
④ソースコード内で環境変数を使用
⑤GitHubの公開設定(.gitignoreに.envを追加)
①dotenv-railsの導入
- gemfileに追記(一番下の行に gem 'dotenv-rails' を追記)
- ターミナルで $ bundle install を実行
②環境変数を記述するファイル .envファイルを作成
- ターミナルで $ touch .env を実行
(.envは既定のファイル名なので誤字が無いように作成)
③.envファイルに環境変数の記述
- 書き方
任意の変数名=変数に入れたい値(公開したくない情報) - 例
SECRET_KEY=hogehoge
(公に公開したくない情報「hogehoge」を 変数「SECRET_KEY」に代入)
(③の補足 代入できているか確認する方法)
rails c で確認
① $ rails c 入力 (rails c起動)
② 2.6.3 :001 > ENV['SECRET_KEY'] 入力 (設定した変数の中身確認)
↓
2.6.3 :001 > ENV['SECRET_KEY']
=> "hogehoge"(値が表示される)
※表示が「nil」や「0」の場合、下記の手順を実行してから上記手順を再実行します。
① 2.6.3 :002 > exit (rails c 一旦終了)
② $ spring stop
再びrails cを起動 → コマンド入力し値が表示されればOK
④ソースコード内で環境変数を使用
使用したい箇所で下記の書き方で記述
-
書き方
"#{ENV[' 任意で設定した変数名 ']}" (左右の " " も含め、全て記述) -
例(変数名=SECRET_KEY)
"#{ENV[' SECRET_KEY ']}"
※上記をビューで表示させる場合は、Rubyタグ<%= %>で囲うことで表示されました。
※文字と一緒に使用する場合(文字=ほげほげ)
"ほげほげ #{ENV[' SECRET_KEY ']}" で ほげほげhogehoge と表示されました。
⑤GitHubの公開設定(.gitignoreに.envを追加)
Gitにアップしたくないファイルやフォルダは .gitignoreファイル に追記し除外する。
- .gitignoreファイル の一番下の行に /.env を追記
- $ git status でGit管理下から除外されたか確認
→ .envファイルが表示されなければ、Git管理下から除外できているのでGitへpushしても情報が公開されずに済みます。
まとめ
- 公開したくない情報はdotenv-rails(gem)を利用し、環境変数として管理する
- 環境変数を定義した.envファイルをGitの管理下から除外させる必要がある(.gitignoreへ記述)
※本記事は、学習の覚え書として書いていますので参考程度にご覧ください。