Skip to main content

git に登録したくないキー項目を .env ファイルに追いやる

できること

設定系の項目を 環境設定ファイルとして分離する。

git (特に GitHub などで 公開する場合) にうっかり情報漏洩してしまわないための仕組み。という理解。

  • ライブラリのライセンスキー
  • AWS や GitHub の API キー

等々

dotenv というライブラリを使用して実現可。

使い方

Google Analytics を例にした

1. dotenv をインストール

bash
npm install dotenv

2. プロジェクト直下に .env ファイル用意

.env
# Google Analytics トラッキングID
GA_TRACKING_ID=G-XXXXXXXXXX

# AWS
AWS_ACCESS_KEY_ID=XXXXXX

# Wijmo のライセンスキー
WIJMO_LICENSE_KEY=ZZZZZZZZZZZ
...

3. docusaurus.config.ts 側では process.env.<変数名> のように参照

docusaurus.config.ts
trackingID: process.env.GA_TRACKING_ID || '',

4. .gitignore.env を追加

せっかく追いやったのに、これを コミットしてしまったら意味がないので。

.gitignore
.env

5. チーム開発で使用するなら

自分は1人用プロジェクトとしてしか使用してないので関係ないが、
チーム開発を考えるなら、以下のような対応もしとくと良さそう。

  • キーだけれておいた サンプル設定ファイルを用意しておく
  • ビルド前に .env の内容が存在するかを確認するチェックを prebuildprestart に入れておくと、設定漏れに気づきやすい (はず)
.env.example
# Google Analytics トラッキングID (例: G-XXXXXX)
GA_TRACKING_ID=
...