为什么circle CI找不到rails凭据,但规范测试在本地有效



在圆形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_KEYenv变量。

也有可能你的credentials文件没有一个字段来表示Rails.env.to_sym的计算结果

development:
secret_key: 123
production:
secret_key: 234

test环境中使用Rails.application.credentials[Rails.env.to_sym][:secret_key]不会给您带来成功。

最新更新