なぜHeroku上に環境変数を設定するのか?

Herokuでの環境変数について備忘録としてまとめました。

基礎知識:

  • ローカル環境と本番環境にデプロイする際に表示したくないPWやIDはconfig/credentals.yml.encに暗号化されており、config/master.keyのコードによって解読ができます。
  • githubから第三者がcredentals.yml.encを見つけても暗号化されているため解読できない

  • 環境変数という箱を用意してmaster.keyの値を設定する。

  • master.keyファイルはデフォルトでデプロイされないように設定されている

以上のことから、
環境変数はローカル環境と本番環境とで別々に設定が必要である。

# herokuログイン後、本番環境の環境変数を設定する
% heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
=>#成功の場合
Setting RAILS_MASTER_KEY and restarting ⬢ herokuアプリ名... done, v7
RAILS_MASTER_KEY:  #キーの値

# 内容の確認
% heroku config
=>
CLEARDB_DATABASE_URL: mysql://~~~
DATABASE_URL:         mysql2://~~~
RAILS_MASTER_KEY:     #キーの値