3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

.envもgit管理できるらしい

3
Last updated at Posted at 2026-03-10

はじめに

こんにちは、adreaでエンジニアをしている押久保です。
最近、X(Twitter)を眺めていたら、dotenvxというものを知りました。

どうやら、環境変数を暗号化し、Git管理できるようになるらしいです。
この記事では、dotenvxについて調べてまとめています。

従来の.envの取り扱い

自分たちのチームでは、ローカル開発に必要な環境変数を.env.sampleなどに記載し、基本的にそれをコピーした.envを使用して開発をしています。
.env.sampleはGit管理しており、Git管理に向かないAPIキーなどの情報は開発者同士DMなどで共有を行なっています。
また、プロジェクトによっては.env自体をGoogle Driveで共有しているケースもあります。

どのチームも数人のため、このような運用でも問題はないのですが、以下のような問題点があります
①環境変数を特定のメンバーに聞かないと設定できない
②更新時の共有がめんどくさい

dotenvxとは

従来の.envはAPIキーなどを平文で保存しているため、漏洩したときのリスクが高くGitでの管理はしないことが常識になってます。
dotenvxでは、.envをBitcoinと同じアルゴリズムで暗号化されます。
これにより、セキュアに.envをGit管理することができます。

実際にやってみた

とりあえずサクッと試してみました

1. インストール

$ brew install dotenvx/brew/dotenvx

2. ファイル作成

$ touch .env
$ echo "console.log('Hello ' + process.env.HELLO)" > index.js

3. 暗号化して環境変数を追加

$ dotenvx set HELLO "world" -f .env

この段階で、.env.keysが生成されました。これは暗号の秘密鍵となります。

設定値の確認はdotenvx getでも可能なようです。

ファイルの内容

.envはちゃんと暗号化されていました

.env
#/-------------------[DOTENV_PUBLIC_KEY]--------------------/
#/            public-key encryption for .env files          /
#/       [how it works](https://dotenvx.com/encryption)     /
#/----------------------------------------------------------/
DOTENV_PUBLIC_KEY="03785ae71827e43d196bad62d8030f00892e7ba344d3368bd5676a7a0e555c65a9"

# .env
HELLO="encrypted:BHhbXt2XwYLfHgEuCTfzRwmE41aLvHcIH1f8Rhg0w2PRCWu/6WFVrt+3FSKY8UNFlVGVor2LbIzmWCjt+1Oou+puEMV6wGOzvxo5zRBZZWDuxzB+dk9z5rOklbaSA9iUgT1TsZj2XtprJ91JnLdJEA=="
.env.keys
#/------------------!DOTENV_PRIVATE_KEYS!-------------------/
#/ private decryption keys. DO NOT commit to source control /
#/     [how it works](https://dotenvx.com/encryption)       /
#/           backup with: `dotenvx ops backup`              /
#/----------------------------------------------------------/

# .env
DOTENV_PRIVATE_KEY=41595788b620f4d733d2dcb6ab0791b7d0015e83735d2c304dae3124d1082ece

4. 実行してみる

$ dotenvx run -f .env -- node index.js
Hello world

まとめ

dotenvxを使った環境変数をGit管理することで以下のようなメリットがあります

  • 環境変数更新時に各メンバーが更新しなくて良くなる
    git pull するだけで、全員のローカル環境が最新(暗号化済み)の状態になります
  • 管理するものが秘密鍵のみになる
    大量のAPIキーを個別に共有する必要がなく、DOTENV_PRIVATE_KEY を1つ共有するだけで済みます
  • CI/CDの設定が楽になる
    GitHub Actions等で大量のSecretsをポチポチ登録する手間がなくなります。秘密鍵を1つ登録し、dotenvx run -- を挟むだけで全変数が注入できます

現状の運用でも回ってはいますが、環境変数の更新時のめんどくささ無くすために、自分の関わっているプロジェクトで導入していきたいです!

▼新卒エンジニア研修のご紹介

レアゾン・ホールディングスでは、2025年新卒エンジニア研修にて「個のスキル」と「チーム開発力」の両立を重視した育成に取り組みました。 実際の研修の様子や、若手エンジニアの成長ストーリーは以下の記事で詳しくご紹介していますので、ぜひご覧ください!

▼採用情報

レアゾン・ホールディングスは、「世界一の企業へ」というビジョンを掲げ、「新しい"当たり前"を作り続ける」というミッションを推進しています。 現在、エンジニア採用を積極的に行っておりますので、ご興味をお持ちいただけましたら、ぜひ下記リンクからご応募ください。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?