LoginSignup
5
8

More than 3 years have passed since last update.

[Rails]環境変数って何だろう?作る理由と作り方

Posted at

環境変数について

まだ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"] %>

以上です。:santa:

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8