こんにちは!
今回は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の最終行に下記を記述します。
gem 'dotenv-rails'
追記できましたら、bundle installを実行します。
.envファイルの作成
環境変数を設定したいアプリのappファイルやconfigファイル、Gemfileなどが置いてあるルートディレクトリに「.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ファイルに記述します
#下記を追記
/.env
これで環境変数をgithubにアップすることなく使用することができます。
.envファイルがGit管理下から除外されたか確認するため下記コマンドを入力します。
$ git status
実行結果に.envファイルが表示されなければ、.envファイルをGit管理下から除外することに成功しています。
このようにdotenv-railsを利用する場合、.envファイルを作成して環境変数の設定を記述するため、
Git管理下から.envファイルを除外しなければ意味がありません。
環境変数の呼出し
#設定した環境変数の呼び出し
ENV['KEY']
ENV['SECRET_KEY']
以上になります!!
最後に
最後までご覧いただきありがとうございます。
初学者なので、間違っていることや、分かりづらい箇所もあるかと思います。
何かお気づきがあれば遠慮なくご指摘頂けると幸いです。
ここまで長くなりましたが
最後までお付き合いいただきましてありがとうございました!!