Rails

Githubで公開できないアカウント情報は【dotenv-rails】で管理する

非公開化イメージ画像
UnsplashCleo Graceが撮影した写真

WEBアプリにカラーミーAPIをのせる作業をしているときに気づきました。

「APIキーを記述したら、そのままGithubで公開されてしまう」

調べてみると、Gem「dotenv-rails」を使う方法がありました。
導入から設定までの手順を簡単に記録します。

1.Gemfileに「dotenv-rails」を記述。

gem 'dotenv-rails'

2.「bundle install」

bundle install

3.環境情報を定義するためのファイル(.env)を作成。


プロジェクトルート配下におきたいので、該当のディレクトリに移動して実行すると良いです。

$ touch .env



4.必要な情報を定義します。


カラーミーAPIを利用して情報を取得するのに、私は以下を設定しています。

colorme_client_id = 'xxxxxxxxxxxxxxxxxxxx'
colorme_client_secret = 'xxxxxxxxxxxxxxxxxxxx'
colorme_access_token = 'xxxxxxxxxxxxxxxxxxxx'
colorme_code='xxxxxxxxxxxxxxxxxxxx'

5.Git管理下から除外するために、.envファイルをgitignoreに追加します。

/.env

上記を設定すると、以下のようにファイル名がグレーアウト(薄いカラーに変化)されます(※VScode利用時)。
このような表示となっていたら除外できています。

6.利用する場合は、ENV['xxx']で呼び出します。

colorme_access_tokenを使いたい場所ではENV['colorme_access_token']と記述します。

#例

request['Authorization'] = "Bearer #{ENV['colorme_access_token']}"

本番環境では、.envファイルが利用できないので環境変数として別途設定します。
Renderの場合だと以下の設定で利用できています。

参考にいたしました。ありがとうございました。

参考:

【Rails】 dotenv-railsを使って環境変数を管理しよう

-Rails