我是OpenShift的新手,不久之前我设法使用Next Gen控制台部署了一个基本的Rails应用程序。 我对应用程序进行了一些调整,即用
创建了一个家庭控制器`rails g controller home index`
并通过将根路由设置为config/routes.rb
而不是root 'home#index'
来更新get 'home/index'
文件。
现在,当在开发环境中运行时,本地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值?
当然,非常感谢任何帮助,谢谢
答案 0 :(得分:1)
解决。我发现rake secret
命令最终会为您生成哈希,然后使用oc env dc/<app> SECRET_KEY_BASE=<hash>
并使用oc start-build <app>