みなさん、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に書いておくことで対応すればいいんじゃね、って思いつきました。
まだ試してないけど絶対動きます。