OpenShift NextGen 和 Rails - 发生未处理的低级错误
OpenShift NextGen and Rails - An unhandled lowlevel error occurred
我是 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>
返回给我的是 "root error":
#<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 值?
当然非常感谢任何帮助,谢谢
已解决。我最终发现 rake secret
命令为您生成了一个哈希值,然后使用 oc env dc/<app> SECRET_KEY_BASE=<hash>
并使用 oc start-build <app>
重建了应用程序
我是 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>
返回给我的是 "root error":
#<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 值?
当然非常感谢任何帮助,谢谢
已解决。我最终发现 rake secret
命令为您生成了一个哈希值,然后使用 oc env dc/<app> SECRET_KEY_BASE=<hash>
并使用 oc start-build <app>