share facebook facebook twitter menu hatena pocket slack

2019.04.08 MON

direnvとdotenvと仲良くする

高橋 慎一

WRITTEN BY 高橋 慎一

みなさん、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と仲良くする

高橋 慎一

高橋 慎一

最強。敗北を知らない。

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。