3
4

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 1 year has passed since last update.

Rails 環境変数の設定方法(dotenv-rails)

Posted at

こんにちは!
今回はGmailアドレスやパスワードなど、第三者に知られたくない情報をgithubに上げない方法として
dotenv-railsを使用した環境変数変化を学んだので記事にしてみました。

環境変数とは

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

「dotev-rails」とは

環境変数を管理することができるgemになります。
環境変数として管理する事で、下記3つのメリットが生まれます。

1. パスワードや外部のAPIキーの情報を、公に漏洩しない
2. 環境変数として指定した変数はGithubなどにアップロードされない
3. 開発したアプリケーションが開発環境に依存してしまう事を防ぐ

これらのメリットを生み出す為に、「dotenv-rails」を導入するという事になります。

導入方法

dotenv-railsを導入

gemfileの最終行に下記を記述します。

Gemfile.
gem 'dotenv-rails'

追記できましたら、bundle installを実行します。

.envファイルの作成

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

.envファイルで環境変数の記述

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

記述と保存ができたら、
環境変数ができているか確認します。
ターミナルでrails cを実行します。

username:~/environment/アプリ名 $ rails c

設定した環境変数の中身を見る場合は、以下のようにENV['KEY']と入力します。

3.1.2 :001 > ENV['KEY']
=> "123456"
3.1.2 :002 > ENV['SECRET_KEY']
=> "aaaaaa"

先程.envファイルの中でKEY、SECRET_KEYに代入した値が表示されていれば、環境変数に値が格納されているという事です。
確認ができましたら、exitでrails consoleを抜けましょう。

.gitignoreを編集

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

.gitignore
#下記を追記
/.env

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

.envファイルがGit管理下から除外されたか確認するため下記コマンドを入力します。

$ git status

実行結果に.envファイルが表示されなければ、.envファイルをGit管理下から除外することに成功しています。
このようにdotenv-railsを利用する場合、.envファイルを作成して環境変数の設定を記述するため、
Git管理下から.envファイルを除外しなければ意味がありません。

環境変数の呼出し

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

以上になります!!

最後に

最後までご覧いただきありがとうございます。
初学者なので、間違っていることや、分かりづらい箇所もあるかと思います。
何かお気づきがあれば遠慮なくご指摘頂けると幸いです。

ここまで長くなりましたが
最後までお付き合いいただきましてありがとうございました!!

3
4
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
3
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?