ENV
ENV ファイルは KEY=VALUE 形式でアプリケーション設定用の環境変数を定義する。12-Factor アプリの推奨方式である。
目的
環境変数による設定注入の標準的な方法を提供し、設定をコードから分離する。
メカニズム
各行は KEY=VALUE。# はコメントで、空行は無視される。値は通常引用符なし(空白を含む場合は引用符で囲む)。シェルや dotenv ライブラリが process.env へ読み込む。型はなく(すべて文字列)、ネストもない。
ユースケース
- Node.js の .env 設定
- Docker コンテナの環境変数
- CI/CD のシークレット注入
- ローカル開発設定
例
- 入力
PORT=3000 DB_URL=postgres://...Outputprocess.env.PORT="3000"Everything is a string
よくあるエラー
- Committing .env to version control leaks secrets
- Add it to .gitignore and provide a .env.example template
関連用語
dotenv
dotenv は .env ファイルを環境変数へ読み込むライブラリおよび規約であり、Node.js エコシステムで最も広く使われ、設定を外部化する。 用語集
INI
INI は伝統的な設定ファイル形式である。[section] ヘッダーと key=value ペアで設定をグループ化する。シンプルだが標準化されておらず、実装ごとに細部が異なる。 用語集
Properties
JavaのPropertiesファイルは KEY=VALUE または KEY:VALUE 形式の設定ファイルで、Javaエコシステムの伝統的な設定形式であり、Unicodeエスケープをサポートする。 用語集
YAML
YAML(YAML Ain't Markup Language)は、設定向けのデータ直列化形式で、インデントで階層を表し、コメントと参照をサポートし、JSONよりも手書き編集に適する。 用語集