Edited at

Railsの環境変数設定

More than 1 year has passed since last update.

twitterとかAWSのAPIのkeyを外部の人間にばれないようにgithubにあげたいと思ったので調べたら、どうやら「環境変数」なるものを使ってkeyを隠すことができるらしいです。


元のコード


secrets.yml

default_twitter:

twitter_api_key: "hogehogehogehoge"
twitter_api_secret: "foobarfoobar"

このままgithubにあげようものなら、keyが世界中の方々にhello,worldしてしまう。

そこで「環境変数」の出番というわけです。


環境変数の設定方法

# export 変数名 = "keyの中身"

$export TWITTER_API_KEY="hogehogehogehoge"

これで設定できる。ちなみに確認したい場合は、

# env | grep 変数名

$env | grep TWITTER_API_KEY

grepしてあげると見つかる。


設定した環境変数を使う時


secret.yml

default_twitter:

twitter_api_key: <%= ENV["TWITTER_API_KEY"] %>
twitter_api_secret: <%= ENV["TWITTER_SECRET_KEY"] %>

環境変数からハッシュの値を持ってきてあげる旨を書いてあげる。

備忘録で書いてみました。アドバイスありましたらご指摘お願いします。