在 Rails 實做一個密鑰管理,簡單的不真實
使用 figaro 能一個指令就將機密信息同步到 heroku 上
如此一來密鑰也不會外洩。
步驟一,安裝Gem
建議開一個 branch 實做完,再 rebase 到 master
新開 branch 並切換到該branch :git checkout -b aws
編輯 Gemfile
1 | gem 'figaro' |
執行掛載 :bundle install
步驟二,執行 figaro
- 這行指令會自動生成 config/application.yml 文件,並自動添加到 .gitignore 檔案裡。
figaro install
- 再次檢查是否意外入追蹤。
步驟三,讓他人好上手開發,協作
那怎麼讓他人也可以複製開源碼,且知道需要哪些設定密鑰?
就是丟一套模版在 application.yml.example 檔案裡
複製檔案:cp config/application.yml config/application.yml.example
1 | # Add configuration values here, as shown below. |
執行完,你已經有兩個檔案,一個是application.yml
& application.yml.example
會將密鑰設定在 application.yml
上傳上去的會是 application.yml.example
步驟四,一鍵同步heroku
figaro heroku:set -e production
步驟五,同步要開源的 application.yml.example
假設你設定了 SEND_CLOUD
的密鑰
同步過去 application.yml.example
但是把所有資訊改成 XXXX
如以下:
1 | # Add configuration values here, as shown below. |
步驟六,資訊安全很重要!所以講三遍
application.yml
記得加到 .gitignor
一定要檢查!免得上傳到雲端,讓有心人士可趁
一定要檢查!免得上傳到雲端,讓有心人士可趁
一定要檢查!免得上傳到雲端,讓有心人士可趁