为什么圆圈 CI 找不到 rails 凭据但规范测试在本地有效?
Why is circle CI failing to find rails credentials but spec tests works locally?
圆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
环境变量。
也有可能您的 credentials
文件没有用于您的 Rails.env.to_sym
计算结果的字段。如果文件如下所示:
development:
secret_key: 123
production:
secret_key: 234
在 test
环境中使用 Rails.application.credentials[Rails.env.to_sym][:secret_key]
不会成功。
圆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
环境变量。
也有可能您的 credentials
文件没有用于您的 Rails.env.to_sym
计算结果的字段。如果文件如下所示:
development:
secret_key: 123
production:
secret_key: 234
在 test
环境中使用 Rails.application.credentials[Rails.env.to_sym][:secret_key]
不会成功。