staging と production の比較(値を表示)
ホスト名が違い、片方にしかないキーがあり、引用符の種類だけが違うキーもある 2 つの .env を、値を表示して比べる例です。
入力
.env A(例: staging)
# staging DB_HOST=staging.example.com DB_PORT=5432 API_KEY="abc123" DEBUG=true
.env B(例: production)
DB_HOST=prod.example.com DB_PORT=5432 API_KEY='abc123' LOG_LEVEL=info
値の表示
値をそのまま表示する
結果
エラー 0 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- 情報 全体 変数の展開(${VAR})は行わず、書かれた文字列のまま比べています。
| キーの総数 | 5 件 |
|---|---|
| 同じ | 2 件 |
| 値が違う | 1 件 |
| A のみ | 1 件 |
| B のみ | 1 件 |
キーごとの比較表
| キー | A | B | 判定 |
|---|---|---|---|
| DB_HOST | staging.example.com | prod.example.com | 値が違う |
| DEBUG | true | (なし) | A のみ |
| LOG_LEVEL | (なし) | info | B のみ |
| API_KEY | abc123 | abc123 | 同じ |
| DB_PORT | 5432 | 5432 | 同じ |
検算(この結果になる理由)
DB_HOST は staging.example.com と prod.example.com で違います。DB_PORT は 5432 で同じです。API_KEY は二重引用符と単一引用符の違いだけで値は abc123 と同じです。DEBUG は A のみ、LOG_LEVEL は B のみです。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- export で始まる行は、Docker Compose の仕様ページに記載がないため読み取りません(警告で知らせます)。
- 変数の展開(${VAR} や ${VAR:-既定値})は行いません。展開後の値が同じかは判断できません。
- 同じキーが 1 つのファイルに複数あるときの優先は仕様ページに記載がないため、あとの行の値で比べて警告します。
ご利用にあたって
- 本物のパスワードやトークンを含む .env を貼り付けるときは、値の表示を伏せ字にしたままにしてください。
- この道具は送信しませんが、共有画面やスクリーンショットには注意してください。