🌽

Rails 環境変数の定義

2023/05/05に公開

環境変数とは

環境変数とは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を導入することにより自動的に読み込んでくれるそうです!


環境変数の設定方法は他にもいろいろあるそうなので、
調べてみます!

🌱参考にさせていただいた記事
https://qiita.com/yuichir43705457/items/7cfcae6546876086b849
https://qiita.com/ki_87/items/82b28f89a8552506a169

Discussion