環境変数と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
追記予定