Rails5.2のActive StorageとCredentials便利ですね!
(Encrypted secretsとは一体なんだったのか…)
これらの新機能ですけど、
development環境ではドキュメントや先人の記事などみて
「なるなる💡(←全然わかってない)」
という感じでサクッと使うことが出来たのですが、当然理解度は低いのでherokuにdeployする際にハマってしまっていたのでメモ。
はまりポイント
- Active Storageは、 herokuのruby用buildpackに含まれていない! 😢
- Credentialsでbuildされた、
config/master.key
はどうやってherokuに反映させるのか悩む… 🔑➰
解決方法
Active Storageのbuildpackは、herokuでは別途用意されていますのでそれを利用。
$ heroku buildpacks:add -i 1 https://github.com/heroku/heroku-buildpack-activestorage-preview
またherokuでmaster.keyを直接置くのはまずいので、値はheroku環境のENVに設定しておきます。こちら設定することで、credentials.yml.encを読み込めるようになります。
$ heroku config:set RAILS_MASTER_KEY=<master-key-value>