【发布时间】:2015-04-30 20:35:13
【问题描述】:
我正在运行 Ubuntu 14.04 LTS 64 位 Rails 应用程序,但无法访问我的应用程序环境变量。
在 OpsWorks 应用程序面板中,我设置了我的环境变量,例如:
MYKEY: 1234
然后我再次保存并部署我的应用程序以使这些可见。
在我的 Rails 应用程序或 Rails 控制台中,我得到 nil:
$ bundle exec rails c production
>ENV["MYKEY"]
=> nil
我已尝试重新启动服务器。我不确定我错过了什么,我一直在其他服务中使用环境变量。
如何追踪这些应该设置的位置?
【问题讨论】:
-
如果我 ssh 进入并运行
sudo opsworks-agent-cli get_json我确实看到了 MYKEY{ "deploy": { "server": { "environment": { "MYKEY": "1234" } .. -
你找到解决方案了吗?
-
奇怪的是它在Passenger生产实例中工作,但当我
$ bundle exec rails c production作为部署用户时不起作用(这是同一个用户Passenger正在运行)。 Apache 在 www-data 下运行,但如果我以 www-data 或 deploy 身份登录,我看不到任何 env vars 集。所以我在跑步,但我不知道引擎盖下发生了什么。 -
您是否在应用程序中说您可以访问 ENV 变量?
-
是的。在 opsworks 门户中运行部署时,我还在输出日志中看到它们(不确定我第一次发布时是否在那里看到它们)
标签: ruby-on-rails aws-opsworks