在圆形CI上,我得到以下错误
Failure/Error: hmac_secret = Rails.application.credentials[Rails.env.to_sym][:some_key]
NoMethodError:
undefined method `[]' for nil:NilClass
Rails凭据在credentials.yml.enc
文件中加密;此文件可以安全地添加到源代码管理中。Rails还将生成一个master.key
文件,该文件不是添加到源代码管理中的。
CI环境在运行其套件时,要么需要存储库中master.key
的副本。如果不可能,可以使用正确的值设置RAILS_MASTER_KEY
env变量。
也有可能你的credentials
文件没有一个字段来表示Rails.env.to_sym
的计算结果
development:
secret_key: 123
production:
secret_key: 234
在test
环境中使用Rails.application.credentials[Rails.env.to_sym][:secret_key]
不会给您带来成功。