2016-12-13 1 views
0

Я новичок OpenShift, и совсем недавно мне удалось развернуть базовое приложение Rails с консолью следующего поколения. я сделал несколько настроек в приложении, а именно создала домашний контроллер сOpenShift NextGen и Rails - произошла необработанная ошибка нижнего уровня

`rails g controller home index` 

и обновленный файл config/routes.rb, установив корневой маршрут root 'home#index' вместо get 'home/index'. Теперь локальный сервер рельсов правильно указывает на индексную страницу при работе в среде разработки, поэтому проблем нет. Но когда я нажал обновленное содержимое в мерзавца удаленного хранилища и и начал новую сборку с

oc start-build <app> 

и перезагружает страницу с производственной среде OpenShift, ничего не отображается, но

An unhandled lowlevel error occurred. The application logs may have details. 

Edit: команда 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

Вы пытались на самом деле посмотреть журналы? https://developers.openshift.com/managing-your-applications/log-files.html – max

+0

Я наткнулся на команду 'oc logs dc/' и напишет ответ на мой вопрос, спасибо;) – Simon

ответ

1

решаемая. Я узнал, что команда rake secret генерирует хэш для вас, затем использовала oc env dc/<app> SECRET_KEY_BASE=<hash> и восстановила приложение с помощью oc start-build <app>