エキサイト株式会社エンジニア佐々木です。Web業界ですと複数プロジェクトやリポジトリがあることがほとんどだと思いますが、CLIで作業するときに環境変数に頼りたくなるときがあります。それをディレクトリ単位で制御してくれるdirenv
をご紹介します。
インストール
公式にインストール手順がありますので、こちらを参考にします。
direnv/docs/installation.md at master · direnv/direnv · GitHub
Macだと下記のコマンドになります。
## brew経由 brew install direnv ## バイナリインストール curl -sfL https://direnv.net/install.sh | bash
インストール後に、.bashrc
や .zshrc
に下記の記述する
## bash eval "$(direnv hook bash)" ## zsh eval "$(direnv hook zsh)"
対象ディレクトリに .envrc を設置する
対象ディレクトリに.envrcを設置し、必要な環境変数を記載しておく
cd ${対象ディレクトリ} touch .envrc vi .envrc """ export TAG=latest export AWS_PROFILE=xxxx """ ※環境変数 でシークレット情報を扱っている場合は.gitignoreに記載して、コミットしないように注意
記載したら、direnvに許可する必要があるので、下記のコマンドを投入します。
direnv allow
これで設定が完了です。
確認
対象ディレクトリに入ると、.envrc
が実行されているのがわかります。
cd ${対象ディレクトリ} direnv: loading ~/${対象ディレクトリ} direnv: export +AWS_PROFILE +TAG ~XPC_SERVICE_NAME
まとめ
複数人で開発作業をしているときに環境変数で制御する必要があるときにREADME.mdに書いたり、オンボーディングのときに周知したりで結構面倒なので、これで統一できるなら割と便利になります。
さいごに
エキサイトではフロントエンジニア、バックエンドエンジニア、アプリエンジニアを随時募集しております。長期インターンも歓迎していますので、興味があれば連絡いただければと思います。
募集職種一覧はこちらになります!(カジュアルからもOK) www.wantedly.com