213
246

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

環境変数の設定方法

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

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

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

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

213
246
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
213
246

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?