我应该在哪里存储特定于我的 ruby 项目中的开发、测试、生产服务器的 key ?例如,应该在哪里存储我的开发特定的 amazon s3 secret 和 key ?我的 config/development.rb 文件?我看到的一个问题是,如果该文件是公共(public) github 项目的一部分,它会向所有人显示。 谢谢!
最佳答案
您分别将单独的环境变量存储在 config/development.rb
、config/testing.rb
和 config/development.rb
中。
但是,如果您的文件将存储在公共(public) git 存储库中,您不希望将任何敏感信息硬编码到其中。最好的方法是使用 .gitignore
中的 yaml 文件或使用 shell 中的环境变量。我更喜欢后者,如下所示:
PAPERCLIP_OPTIONS = { storage: :s3,
bucket: ENV['S3_BUCKET'],
s3_credentials: { access_key_id: ENV['S3_KEY'],
secret_access_key: ENV['S3_SECRET'] }}
然后,您只需在运行应用程序的系统上设置环境变量即可。
如果您使用 yaml 配置文件方法,则必须将敏感配置文件添加到 .gitignore
文件。否则它们仍会上传到您的公共(public)存储库。
关于ruby-on-rails - 服务器环境变量应该存储在 Ruby on Rails 中的哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10357624/