将 credentials.yml 与 Rails 和 Heroku 结合使用
Using credentials.yml with Rails and Heroku
我在 Rails 5.2 上有一个应用程序,它以前托管在 DigitalOcean 上,但我需要在 heroku 上托管它。我一直在读到 heroku 无法读取 Credentials.yml of 因为它在 gitignore 上,当然我不想要它 public.
所以我的关键变量是这样的(以 redis 为例):
host: Rails.application.credentials.redis_host,
password: Rails.application.credentials.redis_password
Heroku 无法读取此内容。所以我的问题是将其更改为 heroku ENV 变量的最佳方法是什么?我是否需要将所有当前密钥(大约 340 个)编辑为 ENV['SOMEKEY']?
非常感谢你的帮助!
创建 credentials.yml 和主密钥:
rails credentials:edit
编辑凭据:
EDITOR=vim rails credentials:edit
与VIM合作:
- 用于插入
- 按 i //进行必要的编辑
- 退出按Esc
- :wq //用于退出和保存
- :问! //不保存退出
CREDENTIALS.YML 的外观示例:
development:
github:
client: acascascsacascascasc
secret: vdsvsvg34g34g
production:
github:
client: 34g3rvv
secret: erberb43
查找证书:
rails c
Rails.application.credentials.dig(:aws, :access_key_id)
或者如果使用环境变量
Rails.application.credentials[Rails.env.to_sym][:aws][:access_key_id]
credentials.yml 文件不应在 gitignore 中。
解密凭据的主密钥应该在 gitignore 中。
要在生产环境中设置主密钥:
heroku config:set RAILS_MASTER_KEY=123456789
或
heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
关于 Ruby 在 Rails 中的凭据,您需要了解的就是这些。祝你好运:)
更新:I've created a screencast covering the topic :)
我在 Rails 5.2 上有一个应用程序,它以前托管在 DigitalOcean 上,但我需要在 heroku 上托管它。我一直在读到 heroku 无法读取 Credentials.yml of 因为它在 gitignore 上,当然我不想要它 public.
所以我的关键变量是这样的(以 redis 为例):
host: Rails.application.credentials.redis_host,
password: Rails.application.credentials.redis_password
Heroku 无法读取此内容。所以我的问题是将其更改为 heroku ENV 变量的最佳方法是什么?我是否需要将所有当前密钥(大约 340 个)编辑为 ENV['SOMEKEY']?
非常感谢你的帮助!
创建 credentials.yml 和主密钥:
rails credentials:edit
编辑凭据:
EDITOR=vim rails credentials:edit
与VIM合作:
- 用于插入
- 按 i //进行必要的编辑
- 退出按Esc
- :wq //用于退出和保存
- :问! //不保存退出
CREDENTIALS.YML 的外观示例:
development:
github:
client: acascascsacascascasc
secret: vdsvsvg34g34g
production:
github:
client: 34g3rvv
secret: erberb43
查找证书:
rails c
Rails.application.credentials.dig(:aws, :access_key_id)
或者如果使用环境变量
Rails.application.credentials[Rails.env.to_sym][:aws][:access_key_id]
credentials.yml 文件不应在 gitignore 中。
解密凭据的主密钥应该在 gitignore 中。
要在生产环境中设置主密钥:
heroku config:set RAILS_MASTER_KEY=123456789
或
heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
关于 Ruby 在 Rails 中的凭据,您需要了解的就是这些。祝你好运:)