Ruby on rails Heroku prod和x27是否都有密钥解决方案;n&;本地开发人员';t环境?
我正在努力寻找存储密钥的最佳解决方案(特别是S3和Desive密钥是我正在尝试设置的密钥),这将使我的应用程序能够在本地和Heroku上运行。到目前为止,我的研究(几乎一整天都在这方面:()向我展示了许多选择,但我对每个选择都有问题,我在下面概述:Ruby on rails Heroku prod和x27是否都有密钥解决方案;n&;本地开发人员';t环境?,ruby-on-rails,heroku,environment-variables,secret-key,Ruby On Rails,Heroku,Environment Variables,Secret Key,我正在努力寻找存储密钥的最佳解决方案(特别是S3和Desive密钥是我正在尝试设置的密钥),这将使我的应用程序能够在本地和Heroku上运行。到目前为止,我的研究(几乎一整天都在这方面:()向我展示了许多选择,但我对每个选择都有问题,我在下面概述: 选项1)使用.git.rails 4.1提供的secrets.yml文件在开发中非常可爱,您只需在您的模型的s3凭据中使用rails.application.secrets.\u secret,一切都很好。但是,当推到Heroku时,需要为每个变量
- 选项1)使用.git.rails 4.1提供的secrets.yml文件在开发中非常可爱,您只需在您的模型的s3凭据中使用
,一切都很好。但是,当推到Heroku时,需要为每个变量设置rails.application.secrets.\u secret
,这本身很好,但随后需要将Heroku config:set key=value
语法替换为Rails.application.secrets…
,这会导致Rails designed secrets.yml和相应的nice语法无法使用。我能看出这一点的唯一方法是在本地和heroku上设置ENV['key']
,这有点乏味,而且它不会使用rails designed secrets.yml文件ENV
- 选项2)使用gem“figaro”是很好的,因此gem为您设置了一个application.yml文件,而.git会为您忽略它,并提供一个方便的rake命令来批量创建Heroku
。但我无法理解,在本地开发和heroku生产环境中使用相同的应用程序版本,而不必在每个环境中再次设置ENV
。好的,figaro通过其rake命令在heroku上加快了设置ENV
,但它仍然使secrets.yml无效,并且涉及到为每个环境中的每个键设置ENV
ENV
- 选项3)我发现了另一块宝石
旨在让我们的生活更轻松。这种宝石类似于费加罗,为批量设置Herokugem'heroku_secrets',github:'alexpeatie/heroku secrets'
s提供了一种新的选择。但我想这仍然给我们留下了同样的问题,那就是ENV
的设置无处不在。然而,我甚至不能用这个gem走这么远,当我试图使用它时,我遇到了这个错误消息 git://github.com/alexpeattie/heroku_secrets.git (在master)尚未签出。首先运行ENV
bundle安装
bundle
还是bundle install
在这里都不做任何事情,搜索问题都会让我尝试bundle install--deployment
,它不是识别和解决问题,而是通过将我的所有gem放在供应商目录中,而不是通过设置id来提供解决方案,所以我放弃了那个改变
- 其他选项)dotenv未尝试,foreman未尝试,在rails.initialize之前预加载包含vars的文件,尝试过,但不喜欢
ENV
s的情况下,使其在本地开发环境和heroku生产环境中工作。有什么办法吗?如果有,请告诉我