0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

環境変数の設定方法

Posted at

前置き

今回は.envに記載する方法を用いての環境変数の設定の説明したいと思います。
初学者の説明ですので不備など気なる点がありましたらコメントください。
railsの環境構築は省略しますのでご了承お願いします。
#手順
railsで.envのを使用するにはまずgemをインストールする必要があります

Gemfile
group :development, :test do
#以下を追加
gem 'dotenv-rails'
end
ターミナル
bundle install

注意
今回、本番環境ではherokuを想定しているためdevelopment :testに記入してます
もしAWSのEC2にデプロイする際はrubyとかrailsのバージョンとか書いてる列に記述する

__bundle install__したら
カレントディレクトリ(gemfileとかが置いてあるとこ)に.envのfileを作成する

その後__application.rb__に以下を追記する

config/application.rb

module BlogAppIk
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 6.0
     
     
#以下を追加する
    if Rails.env.development? || Rails.env.test?
    Bundler.require(*Rails.groups)
    Dotenv::Railtie.load
   end
   ...

コード説明

if Rails.env.development? || Rails.env.test?

上記のコードはテスト環境または開発環境の時のみ.envを読み込むようにする

Bundler.require(*Rails.groups)
    Dotenv::Railtie.load

上記は.envを読み込む設定コード

ここまできたら設定は終了、あとは.envに環境変数を設定して、コンソールでしっかりと取得できるか確認する

.env
TOKEN = 'AAAAAA'

確認作業なので変数は適当に設定okです
記述したら__rails c__でコンソール立ち上げてで確認

コンソール
:001:0\> ENV['AWS_API_TOKEN']

=> "AAAAAA"

上記のように設定した値が取得できたらOK!

#注意点
.envはgithubに絶対あげない
なぜか?
機密情報を外部に漏らさないため
awsのキーやトークンを設定を記述している場合.envをgithubにアップしてしまうと機密情報が公開されてawsのキーやトークンを盗まれて高額請求されることがあるから
対策
.gitignoeに.envを追加する
.gitignoeに追加すると.gitignoreに書いてあるfileはgitの対象外にするためgithubにあがらない

.gitignoeに記述しているファイル、フォルダは灰色になる

以上で説明になります誰かの参考になればと思います

0
1
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?