みなさん、direnvやdotenvつかってますか?
僕は受託開発をしたり自社サービス開発をしたりでどっちもよくつかいます。

  • dotenv
    • Docker
    • アプリケーション
  • direnv
    • AWSのCredentials
    • serverless.yml

みたいな感じでちょこちょこ混在するので、direnvはdotenvからロードするようにしたりしてます。

.envrc

dotenv

こんな感じで dotenv って書くとdirenvが .env ファイルをロードしてくれるので基本的にはこうしてます。
ちなみにパスを書くことでロードするファイルを変更できたりもします。

.envrc

dotenv ./.env.production

ここで課題なんですが、direnvに依存した生活を送っているとどうにもステージの切り替えに難儀したりします。
現在がローカル開発環境用の .env を読み込んでいる状態だとします。

# デプロイしたい環境の環境変数を読み込む
$ source .env.production

# デプロイコマンド(これはNode)
$ npm deploy

# direnvの状態を戻す
$ direnv reload

こんな感じのものをpackage.jsonのscriptsに書いておくことで対応すればいいんじゃね、って思いつきました。
まだ試してないけど絶対動きます。

元記事はこちら

direnvとdotenvと仲良くする