環境変数の設定
環境変数とは
開発・ステージング・本番環境によってドメインは異なります。 コードでドメインありきで処理をしなければならない場合、環境ごとにドメインが変わってもらう必要があります。
API KEYなどはGitHubのレポジトリあげる際に、外部に公開される危険性があります。 ローカルにのみAPI KEYがある状態でないといけない場合があります。
以上のようなケースで環境変数が使われます。
インストール
Gemfile
gem 'dotenv-rails'
bundle install
変数の設定
ディレクトリ直下に以下のファイルを作成します。 .env
WEB_DOMAIN=localhost:3000
コンソールで確認してみましょう。
> Dotenv.load => {"WEB_DOMAIN"=>"localhost:3000"} > ENV['WEB_DOMAIN'] => "localhost:3000"
このように.env
ファイルに設定した環境変数を読み込むことができます。
これを開発環境・ステージング環境・本番環境にそれぞれ設定していくとになります。
レポジトリに環境変数が上がらないようにする
.gitignore
に設定をして、
レポジトリに .env
が上がらないようにします。
.gitignore
# dotenv /.env
サンプルの用意
この .env
は自分しか保有しておらず外部の人が知るすべがありません。
共同開発者が環境変数を自分のもので設定するときに属性名(KEY)の情報が必要になります。
そこで、以下のファイルを作成します。
dotenv.sample
WEB_DOMAIN=""
こうすることで共同開発者はどのキーを設定すれば良いかがわかるようになります。
Heorokuで設定
Heroku(ステージングまたは本番環境)で環境変数を設定します。 Herokuのダッシュボードを開いてください。
Settingsタブをクリックします。 そのページのReveal Config Varsをクリックすると現在設定されている環境変数が表示されます。
この一番したの空白入力欄にキーとバリューを入力し、「Add」ボタンを押すと環境変数が設定されます。
ソースコード
参考
質疑応答
コメントしてください。