環境変数について
まだRailsを勉強し始めて1ヶ月半くらいなのですが、アプリのデプロイ中に環境変数というものに出会ったので
- 環境変数を作る理由
- 環境変数の作り方
について調べていこうと思います。
## 環境変数を作る理由について
例えばGithubにソースコードをあげた際に秘密鍵などをそのまま書いてしまっていると、第3者がその鍵を知ることができてしまい
ます。これを防ぐために環境変数をOS上に保存しておき、<%= ENV["SECRET_KEY"] %>
のようにプログラムから変数として呼び出して使用します。
環境変数の作り方
今回は ~/.bash_profile
に書く方法をメモしておきたいと思います。
DOTENVで書く書き方は以下の記事がとてもわかりやすいです!
[Ruby on Rails]環境変数の設定方法(.bash_profile、Dotenv-rails)
まず、開発環境でも本番環境でもどちらも~/.bash_profile
に書いていきます。
vi ~/.bash_profile #bash_profileを編集する
vimなので入力は「i」を押して入力です。
秘密にしたいパスワードなどを環境変数に代入していきます。
# bash_profileファイルの中に記述していく
...
export SECRET_KEY='piyopiyo'
export SECRET_PASWORD='foobar'
入力が終わったら「Esc」を押し、「:wq」を入力して、上書き保存します。
環境変数を書いたら、適用させるために以下のコマンドをターミナル上で打ちます。
source ~/.bash_profile
これで、環境変数が使えるようになります。
使える環境変数はこれで確認できます。
printenv
アプリ内のファイルなどで環境変数を呼び出したい時は
rbファイルの場合は、そのまま下のコマンドで大丈夫だと思うのですが
ENV["SECRET_KEY"]
ENV["SECRET_PASSWORD"]
database.yml
などのファイルの場合はRubyの記述として、このように書くと変数を使うことができるかと思います!
<%= ENV["SECRET_KEY"] %>
以上です。