環境変数とcredentials

credentialsは普通には編集出来ないし何書いてるかもわかんないので

EDITOR="vi" bin/rails credentials:edit
とかEDITORを指定して開く。
.bash_profileなどに環境変数: EDITORを指定しておけば指定は不要になる
https://qiita.com/NaokiIshimura/items/2a179f2ab910992c4d39
まぁとにかく上のコマンドで開ける

仮にspecial_cool_secret: hogehoge

とかアホな環境変数設定したとして

rails cして

Rails.application.credentials[:special_cool_secret]とかしたら

hogehogeが表示される

注意点としてはyamlファイルのインデントには意味があるので適当な書き方しない

aws:

  access_key_id: 123

  secret_access_key: 345

とかcredentialsの中身に書いてあるとしたらインデントに注意。

あと上みたいなネストだったら

Rails.application.credentials[:aws][:access_key_id

って感じで取り出す 

動画が一番わかり易いかな

https://www.youtube.com/watch?v=BHgvPPr2nLE

 

master.key

バレたらヤバイ。

環境変数に設定する時は

export RAILS_MASTER_KEY=(コピーしたマスターキー)

とする。注意点として

マスターキーとして使用する環境変数RAILS_MASTER_KEYだと決まっていること

=の前後にはスペースを入れないこと

 

 

本番環境の環境変数にマスターキーをセットする

まずEC2にログインして

[ec2-user]$ sudo vim /etc/environment

環境変数書くファイル開いて

RAILS_MASTER_KEY='ローカルでコピーしたmaster.keyの値'

 確認は一度ログインし直してからする

[ec2-user]$ exit
$ ssh -i ~/.ssh/(pemファイル名) ec2-user@(EC2のElastic IP)
[ec2-user]$ env | grep RAILS_MASTER_KEY

 

これでマスターキーをpushせずに環境変数でリモートのサーバーに設定出来た。

データベースのpasswordとかsecret_key_baseは前に書いたやつ参考にすべし。本番環境での環境変数の設定の仕方は書いたはず。

 

 

 

参考記事

https://qiita.com/yuichir43705457/items/7cfcae6546876086b849

https://qiita.com/scivola/items/cc06ddbfd94d3118f693

https://qiita.com/yamamoto_shuji/items/5afd9ffe13f36ff29677

 

追記予定