Goreman を用いる際に環境変数を使いたい場合は、direnv を用いるのがおそらくベター

Goreman とは

Foreman の Go 実装です*1

github.com

環境変数を使いたい

Goreman には Foreman にある -e オプションがありません。したがって、環境変数を用いたい場合にどのような手段を採るかで少々悩みます*2

direnv を用いるのがベター

Goreman で環境変数を用いる際にはいくつか方法が思いつきます。

最も単純な方法はおそらく、コマンド実行時に直接指定する方法です*3。しかし個人的には、むき出しのコンソールに環境変数を入力することにはためらいがあります*4

次に思いつくのは、シェルの環境変数に組み込む方法です。この方法でも特に問題はないと思います。シェルが変わった時に設定を忘れないように注意する必要があるぐらいでしょうか。

ただ、私がベターだと思う方法は、direnv を使って .envrc から読み込む方法です。秘匿性と可搬性の両方を良い感じで兼ね備えていると思うからです。これは Goreman についてだけではなく、環境変数を用いる場合一般に言えるかと思います。

*1:作者は mattn さんです

*2:Procfile に環境変数への参照が含まれている場合に起こるでしょう

*3:$ ENV1=HOGE ENV2=HOGE goreman start

*4:秘匿性が高くない情報なら問題ないと思います

Powered by はてなブログ