【发布时间】:2017-04-29 00:13:47
【问题描述】:
我是一名 OpenShift 新手,不久前我设法使用 Next Gen 控制台部署了一个基本的 Rails 应用程序。 我对应用程序做了一些调整,即使用
创建了一个家庭控制器`rails g controller home index`
并通过将根路由设置为root 'home#index' 而不是get 'home/index' 来更新config/routes.rb 文件。
现在本地rails服务器在开发环境中运行时正确指向索引页面,所以完全没有问题。
但是当我将更新的内容推送到 git 远程存储库并使用
oc start-build <app>
并使用 OpenShift 生产环境重新加载页面,但没有显示任何内容
An unhandled lowlevel error occurred. The application logs may have details.
编辑:命令oc logs dc/<app> 将此作为“根错误”返回给我:
#<RuntimeError: Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`>
然后我在生产部分的config/secrets.yml 写着:
# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
现在我猜这与在 OpenShift 环境中设置环境变量有关。我找到了命令
oc env dc/<app> <ENV_VARIABLE>=<value>
来自this guide。它是正确的吗?如果是,如何生成正确的 SECRET_KEY_BASE 值?
任何帮助当然都非常感谢,谢谢
【问题讨论】:
-
您是否尝试过实际查看日志? developers.openshift.com/managing-your-applications/…
-
我偶然发现了命令
oc logs dc/<app>并将在我的问题上写下它的回复,谢谢 ;)
标签: ruby-on-rails ruby openshift production