[Heroku] .envファイルで環境変数を設定・管理する
通常、herokuで環境変数を設定管理するには、webのdashboardを利用するかheroku CLIのconfigコマンドを利用します。
configコマンドを利用する場合は、以下の例のように[変数]=[値]のように設定します。
$ heroku config:set DEBUG=False
が、設定する環境変数の数が多いと一回ずつコマンドを打つのが面倒だったりします。
そこで環境変数を.envファイルを利用して管理するようにしてみたいと思います。
プラグインのインストール
heroku CLIにプラグインheroku-configを導入します。
heroku-config
https://github.com/xavdid/heroku-config
以下のコマンドでプラグインのインストールができます。
heroku plugins:install heroku-config
環境変数を設定する
ローカルに.envファイルを用意したら
heroku config:push
とすることで、環境変数をHerokuに反映できます。
ちなみに、デフォルトでは、すでにHeokuに設定してある環境変数名と.envファイルに書いてある環境変数名が同じだった場合、Heroku側の環境変数の値は上書きされません
なので、すでに環境変数を設定している場合でも安心です。
上書きする場合は--overwriteオプションをつけます。
環境変数をローカルにコピーする
先ほどは、.envファイルの内容を環境変数に設定しましたが、逆もできます。
heroku config:pull
とすることで、Herokuに設定してある環境変数を.envファイルとして出力することもできます。
こちらもpush同様、同じ名前の環境変数があった場合、値は上書きされません。
--overwrite
push,pullのどちらも--file=ファイル名オプションをつけることで読み込むファイル、書き出すファイルを指定することができます。
