DotenvというGemを導入すると、Gitのリポジトリには含めたくないパスワードや外部APIの情報を環境変数として扱えます。
https://github.com/bkeepers/dotenv
【目 次】
Dotenvで何ができる?
データベースの認証情報や外部サービスの資格情報等の、開発環境間で変更される可能性のあるものは、コードから環境変数に設定しておくとセキュリティ的にも良いとされています。
ただ、複数のプロジェクトが実行されている開発マシンやサーバーに環境変数を設定することは運用が大変です。
dotenvを導入すると .env
のファイルからENVに環境変数をロードできるようになります。
The Twelve-Factor App
環境によって変わる情報を環境変数として保存することは、Webアプリケーションの開発において便利でスケールしやすい方法論として公開されている「The twelve-factor App」でも紹介されている方法です。
環境
Rails 5.0.1
インストール
Gemfileに下記を追加します。
$ gem 'dotenv-rails', require: 'dotenv/rails-now'
インストールします。
$ bundle install --path vendor/bundle --jobs=4
「–jobs=4」をオプションとして指定すると並列処理でインストールが行われるので高速です。
.evn
を作成
.env
ファイルを新規作成します。
$ vi .env
適当な環境変数を設定します。
HOGE="fuga"
コンソールを起動して、呼び出せるか確認してみましょう。
$ bundle exec rails c [1] pry(main)> Dotenv.load
=> {"HOGE"=>"fuga"}
[2] pry(main)> puts ENV['HOGE']
fuga
=> nil
Dotenv.load
を実行してからでないと、ENVで環境変数にはアクセスできないので、そこだけ注意です。
あとは、Gitの管理外になるように .gitignore
に .evn
を追加すれば完了です。
これで、環境によって変わる設定を安全に取り扱うことができます。
AWS が学べるオンライン講座
オンライン講座なら、好きな場所で好きな時間に学習できます。AWS も学ぶことができるので、ぜひ、活用しましょう。
Udemy(ユーデミー)
オンライン動画学習サイトで、AWS講座もあります。頻繁に講座のバーゲンセールスが実施されているので、価格をチェックしましょう!購入した動画は繰り返し使えますので何度でも学習可!
世界最大級のオンライン学習サイトUdemy
RaiseTech(ライズテック)
RaiseTechは最速で「稼げる」エンジニアになるための、実践的なWebエンジニアリングスクール。AWSフルコース、AWS自動化コースとAWS講座が充実!
【RaiseTech】最速で稼げるプロになるエンジニアリングスクール