Help us understand the problem. What is going on with this article?

[Ruby on Rails]環境変数の設定方法(.bash_profile、Dotenv-rails)

環境変数の設定方法

今回はこちらのトピックについて説明していきたいと思います。

環境変数とは

環境変数とはAWSのパスワードや、APIの秘密鍵などGithubにあげたくない機密情報の第三者への漏洩を防ぐためにサーバーなどのOSに保存しアプリに渡す仕組みです。
今回は.bash_profileに記述する方法とDotenv-railsというgemを使う方法の二種類を紹介したいと思います。

なお環境変数は開発環境、本番環境にそれぞれ設定しなければなりません。

.bash_profileへの記述方法

まず.bash_profileへの環境変数の設定方法ですが自分で調べた印象では後ほど紹介するDotenvよりもこちらの方が一般的みたいです。

以下が設定手順です。

1 .bash_profileを開く

ターミナルでvim ~/.bash_profileコマンドを打つことで開くことができます。
開いたままの状態だと編集ができないので「i」を押すことで編集モードに切り替えることができます。

ターミナル
#ローカル環境、本番環境共に記述する
vim ~/.bash_profile

2 環境変数を記述

「i」コマンドを入力し編集モードに切り替えたら下記のように記述します。

ターミナル
export KEY='*******'  #使用したいキーやパスワードを記述
export SECRET_KEY='********'

3 環境変数を適用させる

環境変数を記述したら必ず下記のコマンドで設定を有効にしましょう。

ターミナル
#下記のコマンドで環境変数を使えるようにする
source ~/.bash_profile

4 環境変数の呼び出し

環境変数の呼び出しかたは以下の通りです。

sample.rb
#設定した環境変数の呼び出し
ENV['KEY']
ENV['SECRET_KEY']

以上になります。

Dotenvを用いた設定方法

Dotenvは.envファイルに記述する設定方法です。
なお、RailsではDotenv-railsというgemが用意されているのでこちらを使用していきます。

1 gemをインストール

まずgemをインストールします。

Gemfile.
gem 'dotenv-rails'
bundle install

2 .envファイルを作成

環境変数を設定したいアプリのappファイルやconfigファイル、Gemfileなどが置いてあるルートディレクトリに「.env」というファイルを作成してください。

3 環境変数を設定

作成した.envファイルに環境変数を記述します。

|.env|
KEY='*******' #使用したいキーやパスワードを記述
SECRET_KEY='*******'

4 .gitignoreを編集

作成した.envファイルがgithubにアップされないように.gitignoreファイルに記述します

|.gitignore|
#下記を追記
/.env

これで環境変数をgithubにアップすることなく使用することができます。

5 環境変数の呼び出し

呼び出しかたは.bash_profileと同様です。

sample.rb
#設定した環境変数の呼び出し
ENV['KEY']
ENV['SECRET_KEY']

以上になります。
通常.envを読みこませるにはコマンドが必要ですが、dotenv-railsというgemを導入することにより自動的に読み込んでくれます。

最後に

以上になります。
環境変数の設定方法は他にも色々あるのでぜひ調べてみてください。
私自身まだまだ知らないことだらけなので引き続き勉強していきます!!
もし間違っている部分等あれば教えていただけると嬉しく思います!!

最後まで読んでいただきありがとうございました!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした