約束の地

キャロ組

dotenv でパスワードやトークンを隠す

パスワードやトークンを隠す

パスワードやトークンを含んだ設定ファイルを push してしまったことは皆さんあると思います*1。そういう「やらかし」をしないために、dotenv を用いてパスワードやトークンを隠す方法です。dotenv は Ruby の gem です。パッと見て分かるように、foreman の機能が切り出されたものです。

手順

1. dotenv をインストールする

インストールしましょう。

$ gem install dotenv

2. .env ファイルを作る

以下のような形式で .env ファイルを作りましょう。

FOO="BAR"
HOGEHOGE="FUGAFUGA"

3. load メソッドで .env を読み込む

Dotenv.load というメソッドを実行すると .env を読み込むことができます。読み込まれたデータは ENV という配列に格納されます。この配列のそれぞれの要素はハッシュになります。

4. ENV からデータを取得する

「3.」で取得できた ENV からデータを取り出します。

サンプルコード

上記の「3. 〜 4.」をコードにすると以下のようになります。

require 'dotenv'

Dotenv.load

puts ENV['FOO'] #=> BAR
puts ENV['HOGEHOGE'] #=> FUGAFUGA

補足

前回書いた pit を用いる方法(以下の記事を参照)よりかはスマートな方法かと思います。

*1:ありますよね!

Powered by はてなブログ