Ruby项目管理密钥

284 阅读1分钟

通常情况下密钥是有专人来管理的,假如项目有多人开发,管理密钥的可能就是你的owner, 在ruby中主要是通过两个文件来实现的密钥管理的master.key credentials.yml.enc


master.key:主要是用来加密开发定义的key

credentials.yml.enc: 存放了加密master.key的key

graph TD
key1 --> key集合生成加密key存于master.key
key2 --> key集合生成加密key存于master.key
key3 --> key集合生成加密key存于master.key
key集合生成加密key存于master.key --> master.key加密生成credentials.yml.enc

怎么生成key


如果第一次使用的话,需要删除无用的credentials.yml.enc 使用命令 EDITOR: 编辑方式,可以使用vscode 或者其他编辑器的命令,在编辑完后再保存临时文件,关闭临时文件后就会创建成功

EDITOR="code --wait" bin/rails credentials:edit

假如需要修改key,还是使用上面的命冷,但是需要注意的是master.key不能上传,只能本地留存,下次修改的时候也是通master.key,解密出你之前的key集合,创建临时文件供你修改

怎么查看key的值


生成后的key ,其他开发怎么查看key值呢

  1. 先进入ruby控制台
bin/rails console
or
bin/rails c
  1. 查看
Rails.application.credentials.keyName