パスワードやauth, awsのsecret keyなどコードに直接埋め込みたくない情報を管理する方法として環境変数を使うのが良さそうだったので、Mac、herokuでの設定方法を調べたのでまとめます。
ruby/railsで環境変数を参照するには以下のように呼び出します。
var = ENV['HOGEHOGE']
Macでの環境変数の設定
$User/.bashrcを開き、以下のように変数を追加。
export HOGEHOGE="xxxxxxxxxxxxxxxxxxxx"
HOGEHOGEに変数名、xxxに値が入ります。改行コードLF(unix)で保存します。ターミナルで以下のコマンドを入力すると、.bashrcに保存した内容がすぐに反映されます。
source ~/.bashrc
環境変数の確認するにはターミナルで以下のコマンドを入力します。
すべての環境変数
printenv
特定の環境変数
echo $HOGEHOGE
ここまで設定したところ、再起動した時に.bashrcの内容がまた反映されなくなっていました。$User/.bash_profileを開き、以下のコマンドを追加します。
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
.bash_profileはログイン時に読み込まれるファイルです。
ログイン時にのみ設定されればOKならexport〜を最初から.bash_profileに書いてもいいようです。
【追記】ターミナル以外の開発環境から実行する場合は.bash_profileに1の内容を書かないとダメなようです。
Herokuでの環境変数の設定
設定コマンド
heroku config:add HOGEHOGE="xxxxxxx"
登録した環境変数の確認コマンド
heroku config
以上です。