Page List

Search on the blog

2019年6月29日土曜日

プロジェクトごとの環境変数の管理

まえがき

 複数のプロジェクト開発を担当していると、プロジェクトごとにさまざまな設定を管理しないといけない。

 たとえばプロジェクトごとに aws アカウントが異なる場合は、 profile を作っておいて aws コマンドを実行するときに profile オプションを付ける必要がある。しかし、プロジェクト数が多くなってくると、profile 名何だっけ?となることがある。

 他にもdbの接続情報などをプロジェクトごとに使い分けたかったりする。

direnv

 direnv というツールを使うとディレクトリごとに環境変数を管理できるらしい。.envrc というファイルを作って環境変数を定義すると、そのディレクトリの中でのみ有効になる。

 例として、projectX と projectY というディレクリを作って設定をしてみる。

$ mkdir projectX
$ cd projectX
$ echo "export MY_PWD=hogehoge" >.envrc
$ direnv allow

$ mkdir projectY
$ cd projectY
$ echo "export MY_PWD=fugafuga" >.envrc
$ direnv allow

 ディレクトリごとに環境変数が切り替わっていることを確認してみる。

$ cd projectX
$ echo $MY_PWD
hogehoge

$ cd projectY
$ echo $MY_PWD
fugafuga

これは便利!

0 件のコメント:

コメントを投稿