3
2

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.

環境変数について調べる(メモ)

Last updated at Posted at 2020-12-21

こちらもなんとなくで使用しているので
きちんと言語化できるように深堀りして調べる

##環境変数とは
環境変数とは外部サービスのパスワードや、APIの秘密鍵など
Githubにあげたくない機密情報の漏洩を防ぐために
サーバーなどのOSに保存しアプリに渡す仕組みのこと
→そのままGithubにあげてしまうと、外部サービスを使用され
多額の請求がきた などの記事をみたことあるので気をつける…

またOSが動いているときに使用する変数
プログラムの実行時などに必要となる

##設定方法
今回行うのは
dotenv-rails」というgemを使う方法
通常.envを読みこませるにはコマンドが必要だが、
「dotenv-rails」というgemを導入することにより自動的に読み込んでくれるらしい

他にも「.bash_profile」に記述する方法があるらしい

###「Dotenv-rails」を使用して設定してみる

####Gemをインストールする
まずは、Gemをインストール

Gem.file
gem 'dotenv-rails'

お約束

bundle install

####「.envファイル」を作成
ルートディレクトリに「.env」というファイルを作成する

自分は、sample_app で作成しています

~/environment/rails/sample_app
❯ pwd

/Users/ユーザー名/environment/rails/sample_app
❯ touch .env

~/environment/rails/sample_app
❯ ls
Gemfile      Rakefile     config       lib          public       tmp
Gemfile.lock app          config.ru    log          storage      vendor
README.md    bin          db           package.json test

~/environment/rails/sample_app
❯ ls -A
.env          .ruby-version Rakefile      config.ru     package.json  tmp
.git          Gemfile       app           db            public        vendor
.gitignore    Gemfile.lock  bin           lib           storage
.history      README.md     config        log           test

→ファイルを作成してlsコマンドでみてもない!と焦らない
オプションで「-A」をつけるとみることができます

####環境変数を設定してみる
作成した.envファイルに環境変数を記述します。
vimとかで編集してください

.env
#使用したいキーやパスワードを記述
KEY='*******'
SECRET_KEY='*******'
```

####gitignoreを編集する
「.envファイル」に定義されている情報を不正利用されないように、
**Gitの管理から外す**必要がある
そのため、.gitignoreを設定する

```:gitignore
#下記を追記
.env
```
これで、Gitにあげる心配がなくなりました

#####もし、Gitの管理下にあげてしまった場合
既にgitにpushしてしまっている場合下記のコマンドで
「.envファイル」をgitの管理から外せる

```
git rm --cached .env
```

####環境変数を呼び出す

呼び出しかたは.bash_profileと同様です。

```sample.rb
#設定した環境変数の呼び出し
ENV['KEY']
ENV['SECRET_KEY']
```

「**rails c**」 でも確認できるそう

```rb
irb(main):002:0> ENV['KEY']
=> '*******'
```

##参考記事
https://railsguides.jp/configuring.html
https://wa3.i-3-i.info/word11027.html
https://qiita.com/yuichir43705457/items/7cfcae6546876086b849
http://e-words.jp/w/%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0.html
https://qiita.com/hayatokunn/items/d8a9e9deec33e9022b4f
https://qiita.com/ryosuketter/items/ceb592dc6b23a20e51b5
3
2
2

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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?