これ何
機密情報を扱う時にどうするんだっけ?みたいなのをまとめる。
まとめ
- 機密情報はそのままコードに保存しちゃダメ
-
.env
にまとめるがgitに保存する場合は機密情報を除いて.env.sample
にすることが多い - 多くの言語で
.env
を扱うパッケージが存在する
envファイルとは
アプリケーションの中で「DBの情報」や「サーバーの情報」「外部APIの連携情報」など第三者に見せたくない機密情報が存在する。機密情報は、コードとは別に環境変数として情報を保存する。
ローカルでは、複数プロジェクトが存在し、プロジェクトごとに異なる環境変数を取り扱いたい。また、新しく加わるメンバーのためにも環境変数の設定ファイルをまとめておきたい。
そのため、 .envファイル
として、機密情報をまとめたファイルを作成し、情報を管理する。
.envファイル
はgitにそのまま載せると機密情報がgitに乗ってしまうため、 .gitignore
に .envファイル
を追加し、 .env.sample
というサンプルのファイルを置くことが多い
環境変数について
環境変数の追加・閲覧・削除の方法を簡単にまとめる。
# 環境変数の設定
$ export GERU="mew" # GERUという名前の環境変数に「mew」という値を入れる
# 環境変数の確認
$ echo $GERU # GERUという名前の環境変数の中身を見る
mew
# 設定されている環境変数の確認
$ printenv # 設定されている環境変数を全て確認する
...
GERU=mew
...
# 設定されている環境変数を削除する
$ unset GERU # 設定されている環境変数の削除
$ echo $GERU # 設定が削除されたので、出力しても表示されない
.envについて
いろんな言語で.envで環境変数を取り扱うパッケージが開発され、利用されています。
Ruby[dotenv]
Javascript[dotenv]
Python[python-dotenv]
まとめ
- 機密情報はそのままコードに保存しちゃダメ
-
.env
にまとめるがgitに保存する場合は機密情報を除いて.env.sample
にすることが多い - 多くの言語で
.env
を扱うパッケージが存在する