Noraworld Developers Blog
【Ruby on Rails】GitHubに公開したくない変数や値を隠してpushする方法

GitHubで公開したくないデータ(パスワードなど)を別ファイルに書いておいて、viewやcontrollerでそのデータを使う方法を紹介します。今回は環境変数を使用してデータを参照できるようにします。

環境

Ruby on Rails 4.2.6 Ruby 2.0.0p353

dotenvのインストール

環境変数を使うためにdotenvを導入します。Gemfileに下記を追加します。追加する場所はループの中以外ならどこでもOKです。

gem 'dotenv-rails'

上記を追加したらbundle installを実行します。

$ bundle install

環境変数を定義

dotenvでは.envというファイルの中に書いてあるデータを参照します。.envをアプリケーションディレクトリのルートディレクトリ(appやdbやGemfileがあるディレクトリ)に作成し、公開したくないデータを定義します。

LOGIN_NAME='noraworld'
LOGIN_PASSWORD='fh328sd9fshkq342bsfhsfuew'

環境変数の使い方

viewやcontrollerで以下のように書けば使えるようになります。

ENV['LOGIN_NAME']
ENV['LOGIN_PASSWORD']

gitignoreに追加

隠しておきたいデータを定義した.envファイルをGitHubに公開してしまっては意味が無いのでこのファイルは公開しないようにします。.gitignoreに下記を追加します。

/.env

これで.env内のデータを隠してGitHubでコードを公開できるようになります。

参考サイト

Railsで環境変数をライトに使う