🌽
Rails 環境変数の定義
環境変数とは
環境変数とはAWSのパスワードや、APIの秘密鍵などGithubにあげたくない機密情報の第三者への漏洩を防ぐためにサーバーなどのOSに保存しアプリに渡す仕組みのこと。
環境変数を設定する
前回作ったメール機能で、メールアドレスやパスワードをそのまま記述しているため
GitHubに上がらないように環境変数として定義した方がセキュリティー的に🙆
Dotenvを用いた設定方法
Dotenvは.envファイルに記述する設定方法で、
RailsではDotenv-railsというgemが用意されているのでそれを使用します!
1. gemをインストール
まずgemをインストールする。
Gemfile
gem 'dotenv-rails'
$ bundle install
2. envファイルを作成
アプリケーションのフォルダ直下に.envファイルを作成!
$ touch .env
3. 環境変数を設定
.envファイルに環境変数を定義
.env
KEY='xxx'
SECRET_KEY='xxx'
「xxx」の部分には、元々ソースコードに記述していた値を記入
4.gitignoreを編集
作成した.envファイルがgithubにアップされないように.gitignoreに.envを追加
#下記を追記
/.env
これで環境変数をgithubにアップすることなく使用することができる!!
5. 環境変数の呼び出し
ソースコードで .envに記述した環境変数を使用
この部分
ENV['KEY'],
ENV['SECRET_KEY'],
確認
.envファイルがGit管理から外れたか確認(.envが表示されなければOK)
$ git status
環境変数が正しく設定できているか一応確認
#rails c を起動
$ rails c
#以下を記述
> ENV['KEY']
#クオテーション内に.envに定義した値が出力されていればOK
=> "xxxxx@gmail.com"
#rails c を終了
>exit
問題なくgit管理から外れたら、pushする!
通常.envを読みこませるにはコマンドが必要ですが、dotenv-railsというgemを導入することにより自動的に読み込んでくれるそうです!
環境変数の設定方法は他にもいろいろあるそうなので、
調べてみます!
🌱参考にさせていただいた記事
Discussion