dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

Herokuで本番環境の環境変数(config vars)を.envファイルで設定する

普通、Heroku の本番環境の環境変数(config vars) は Heroku のダッシュボード > Settings から設定するか

f:id:dackdive:20160125231022p:plain

または以下のようにローカルで heroku config:set [変数]=[値] コマンドを実行することで設定できる。

$ heroku config:set GITHUB_USERNAME=zaki-yama

ただ、

  • 設定したい変数が多いときに1つずつコマンドを実行するのは面倒
  • ローカルで動かすときは .env を使っているので、本番環境にもそれを適用したい

と思い、そういった方法がないのか調べてみた。

設定方法

こちらのプラグインをインストールすればできる。
https://github.com/ddollar/heroku-config

まず、以下のコマンドでプラグインをインストールする。

$ heroku plugins:install git://github.com/ddollar/heroku-config.git

(2017/10/25追記)

ブコメで教えていただいたが上記リンクのプラグインは deprecated らしく、現在はこちら。
https://github.com/xavdid/heroku-config

そしてインストールのコマンドも以下のようになる。

$ heroku plugins:install heroku-config

これ以降の操作は以前と変わらず。

(追記ここまで)

そしてローカルに .env ファイルを用意した後、

$ heroku config:push

で本番環境にも反映できる。

逆に、pull コマンドで本番環境の config vars をローカルにダウンロードすることもできる。

$ heroku config:pull