首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 6应用程序在测试期间没有在Heroku上读取ENV

问Rails 6应用程序在测试期间没有在Heroku上读取ENV
EN

Stack Overflow用户
提问于 2020-08-17 10:53:33
回答 1查看 564关注 0票数 3

我有一个Rails 6应用程序部署到Heroku,运行良好。我刚刚开始在应用程序中添加一个API,这在本地也很好,所有的测试都在本地通过。

当我部署到Heroku时,应用程序对curl的响应是正确的。

然而,我的测试(通过Heroku运行)在TypeError: no implicit conversion of nil into String授权期间失败了。我已经确定了根本原因,这就是DEVISE_JWT_SECRET_KEY环境变量没有加载到我的测试中。

这个变量被定义为Heroku环境变量,当我使用curl测试实际的应用程序时,效果很好,就像我前面提到的。正在运行

代码语言:javascript
复制
heroku config:get DEVISE_JWT_SECRET_KEY -a [APP_NAME]

返回正确的键。

当我向测试中添加一行以检查变量时,当测试运行时将执行raise,显示变量丢失。

代码语言:javascript
复制
raise if ENV['DEVISE_JWT_SECRET_KEY'].nil?

当我在Heroku上运行测试时,有人能提出为什么环境变量没有加载吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-17 12:14:36

注意到,与评论应用不同,Heroku不会从父应用程序继承任何配置vars。

要设置不应该包含在app.json中的机密或易失性环境变量(例如访问令牌),可以将它们添加到Heroku中管道的Heroku设置中。

https://devcenter.heroku.com/articles/heroku-ci

因此,期望您的CI使用您通过CLI设置的配置vars是错误的,如果您的CI错误地使用了真实的第三方凭据,这可能会导致一些非常严重的问题。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63449422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档