gpt4 book ai didi

ruby-on-rails - 如何在本地定义环境变量而不更改它们的定义/将它们推送到 heroku?

转载 作者:行者123 更新时间:2023-12-03 16:56:28 24 4
gpt4 key购买 nike

为了将我的应用程序连接到 amazon s3 和其他服务,我必须处理许多凭据。

我使用 s3 启动并运行了我的 heroku 应用程序,它运行良好。我按照以下示例定义了我的 s3 访问凭据:http://devcenter.heroku.com/articles/config-vars

但是,我现在希望能够从我的本地开发环境访问 s3。显然,我在 heroku 上定义的配置变量在我的本地主机上不可用。如何在本地定义这些键?另外,我特别在寻找一种安全的解决方案(例如,如果我在初始化器或其他东西中以纯文本形式定义我的 key ,我不希望该文件被推送到 heroku 上)。

对于背景,这是我添加到模型中以使回形针与 s3 一起运行的内容

 has_attached_file :photo,
:storage => :s3,
:bucket => 'bucket_name',
:s3_credentials => {
:access_key_id => ENV['S3_KEY'],
:secret_access_key => ENV['S3_SECRET']
}

最佳答案

定义此类内容的最佳位置,如果您不想共享,可能是初始化程序。

# config/initializers/s3_constants.rb


if Rails.env.development?
S3_KEY = "mys3key"
S3_SECRET = "mys3secret"
end

确保将此文件添加到 .gitignore 中,这样它就不会与存储库的其余部分一起推送。

实际上,在每个环境的基础上不同的常量应该真正位于该环境的文件中(例如 development.rb 此处)...但这些文件也应该真正添加到您的版本控制系统中,如果您确定,绝对希望从 git 中排除这些数据,那么您不提交的单独文件可能是您最好的选择。

关于ruby-on-rails - 如何在本地定义环境变量而不更改它们的定义/将它们推送到 heroku?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9415671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com