【发布时间】:2025-12-24 19:10:07
【问题描述】:
我正在使用 Ruby on Rails 4、Ruby 2.2.2 并部署到 Heroku。我用 Heroku config:set 配置了我的秘密变量,我想使用 Rails.application.secrets.secret_key 来访问我的秘密。
在开发和部署到 Heroku 时,使用 Git 和 GitHub 管理我的 config/secrets 文件的最佳方法是什么?我的配置文件如下:
development:
secret_key_base: <value>
test:
secret_key_base: <value>
# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
# Amazon credentials
s3_bucket_name: <%= ENV["S3_BUCKET_NAME"] %>
aws_secret_access_key: <%= ENV["AWS_SECRET_ACCESS_KEY"] %>
aws_access_key_id: <%= ENV["AWS_ACCESS_KEY_ID"] %>
aws_region: <%= ENV["AWS_REGION"] %>
aws_cloud_front: <%= ENV["AWS_CLOUD_FRONT"] %>
# Twitter credentials
twilio_token: <%= ENV["TWILIO_TOKEN"] %>
twilio_sid: <%= ENV["TWILIO_SID"] %>
twilio_number: <%= ENV["TWILIO_NUMBER"] %>
即使在 .gitignore 文件中,我也已将更改推送到我的文件,因为它过去曾被 Git 跟踪过。我停止在 Git 上跟踪我的 config/secrets.yml 文件,所以我不推送更改,但是当我从 master 下拉时,我的 config/secrets 文件仅被生产凭据覆盖。
【问题讨论】:
标签: ruby-on-rails ruby git heroku github