【发布时间】:2021-03-25 05:18:59
【问题描述】:
我正在使用 Rails 凭据在我的应用中存储敏感信息。在本地它可以正常工作,例如调用Rails.application.credentials[Rails.env.to_sym][:key_secret]。
我的凭据存储为:
test:
key_secret: <key>
development:
key_secret: <key>
Travis 不会选择此信息,当测试开始运行时,它会破坏构建。
Failure/Error: HMAC_SECRET = Rails.application.credentials[Rails.env.to_sym][:key_secret]
NoMethodError:
undefined method `[]' for nil:NilClass
我做了什么:
- 我运行了
travis encrypt RAILS_MASTER_KEY='cat config/master.key' --add env,这为我的.travis.yml文件添加了一个加密密钥。 - 将其提交到(私人)repo,然后在 travis 环境变量部分添加我的
master.key进行解密,为RAILS_MASTER_KEY
什么都没变,我在travis上调试了几行,得到:
:test # Rails.env.to_sym
#<ActiveSupport::EncryptedConfiguration:0x0000558fe0675870 @key_path=#<Pathname:/home/api/limpar/current/config/master.key>, @content_path=#<Pathname:/home/api/limpar/current/config/credentials.yml.enc>, @env_key="RAILS_MASTER_KEY", @raise_if_missing_key=false> #Rails.application.credentials
还有什么我可以测试以使其在 Travis CI 上运行的吗?
【问题讨论】: