2013-11-16 4 views
0

Я попытался создать среду QA для своего приложения на Heroku. Когда я развертываю, вывод на консоли, похоже, предполагает, что production.rb все еще запущен.Heroku Running Неверная конфигурация ENV

Я создал новый файл среды по адресу /config/environments/qa.rb. Это точная копия файла production.rb, за исключением того, что я добавил оператор журнала вверху.

qa.rb:

MyApp::Application.configure do 
    puts "Loading QA Config" 

production.rb:

MyApp::Application.configure do 
    puts "Loading Production Config" 

Далее, я запустил команду Heroku, чтобы обновить ОБЕ настройки ENV:

heroku config:set RACK_ENV=qa RAILS_ENV=qa --app qa-myapp 

Чтобы перепроверить, Я печатаю настройки конфигурации:

heroku config --app qa-myapp 
=== qa-myapp Config Vars 
... 
RACK_ENV:      qa 
RAILS_ENV:     qa 
... 

Чтобы проверить тройку, я запускаю консоль! (обратите внимание на линии QA, а также на Rails.env):

heroku run console --app qa-myapp 
Running `console` attached to terminal... up, run.8199 
Loading QA Config 
Loading qa environment (Rails 4.0.0) 
irb(main):001:0> Rails.env 
=> "qa" 

Все кажется, что все сделано правильно. Когда я нажимаю на Heroku, хотя, это не загружает правильный конфиг (я добавил стрелку с правой стороны, чтобы указать на журнал заявление):

git push qa master 
... 
-----> Ruby app detected 
-----> Compiling Ruby/Rails 
-----> Using Ruby version: ruby-1.9.3 
... 
-----> Writing config/database.yml to read from DATABASE_URL 
-----> Preparing app for Rails asset pipeline 
     Running: rake assets:precompile 
     Asset precompilation completed (8.34s) 
     Cleaning assets 
     Loading Production Config <----------------------------------------- 
-----> Discovering process types 
     Procfile declares types -> (none) 
     Default types for Ruby -> console, rake, web, worker 

-----> Compiled slug size: 30.6MB 
-----> Launching... done, v27 
     http://qa-myapp.herokuapp.com deployed to Heroku 

Что я здесь отсутствует? Я не думал, что есть что-то еще, чтобы заставить это работать. Мне нужно сделать что-то другое здесь?

+0

Если он правильно загружается в консоли Heroku для 'qa-myapp', это может быть просто написано сценарии развертывания Heroku. Может ли конфигурация выглядеть прямо из консоли в 'qa-myapp'? – CDub

+0

@CDub вывод консоли для 'qa-myapp' - это фрагмент кода от второго до последнего. Есть ли другой способ проверить конфигурацию с консоли? –

+1

Уверен - проверка атрибутов в 'Rails.application.config' (например,' Rails.application.config.logger') – CDub

ответ

1

Ознакомьтесь с разделом «Поток» окна Heroku Buildpack. Он устанавливает RAILS_ENV=production при развертывании для любого приложения Rails 2/Rails 3.

В их документации приведены примеры того, как вы можете взломать свой собственный buildpack, чтобы изменить это, но если все работает так, как должно быть на консоли и через ваши тесты, это может быть необязательным (но все же вариант).

+0

Я зарегистрировал значения конфигурации в одном из моих контроллеров, и все кажется прекрасным. Спасибо за ссылку на Buildpack. –

Смежные вопросы