2016-03-07 2 views
1

У меня есть приложение Rails 4.2.5, которое я только что развернул в Heroku. Мне интересно, как установить среду, в которой работает приложение Rails. Я хочу, чтобы среда была проверкой, но теперь она подходит к разработке. За документацию Heroku, я создал файл с именем «PROCFILE» в корне моего проекта и добавил эту линию к немуКак настроить среду в Heroku при запуске моего приложения Rails?

web: bundle exec puma -t 5:5 -p ${PORT:-3000} -e ${RACK_ENV:-test} 

, но мое приложение по-прежнему получать развертывается в режиме разработчика. Я знаю это, потому что я установить некоторые переменные окружения с помощью файла «./config/environment_variables.yml», который выглядит как

development: 
    GOOGLE_CLIENT_ID: 425025269574-o5ejue1pgtsjoid0f0k8r7lcksfse6hk.apps.googleusercontent.com 
    GOOGLE_SECRET: 16ckoTU_RbRKkdxv7_wkZnw8 
    FACEBOOK_KEY: "6574234667329742" 
    FACEBOOK_SECRET: 690e7faeb05199e5392892d397b79f8e 
test: 
    GOOGLE_CLIENT_ID: 425025269574-gkcj8t19palgj34e5an4gj3mk68grpeg.apps.googleusercontent.com 
    GOOGLE_SECRET: mokumLI9XdD8f10M6oamj7Jx 
    FACEBOOK_KEY: "8877114738693318" 
    FACEBOOK_SECRET: 779102b0e08e4374ca7c6986924bcf9b7 
production: 
    GOOGLE_CLIENT_ID: 425025269574-gkcj8t19palgj34e5an4gj3mk68grpeg.apps.googleusercontent.com 
    GOOGLE_SECRET: mokumLI9XdD8f10M6oamj7Jx 
    FACEBOOK_KEY: "8877114738693318" 
    FACEBOOK_SECRET: 779102b0e08e4374ca7c6986924bcf9b7 

но только вары развития становится набором.

+3

Вы захотите повернуть все эти секретные приложения, которые вы только что разместили в Интернете. –

+1

Используйте их! Иди вперед, принеси приложение, смею тебя! – Dave

ответ

0

обновить свой профиль на следующее:

web: bundle exec puma -C config/puma.rb

И установить RAILS_ENV в test следующим образом:

heroku config:set RAILS_ENV=test

Если вы не изменили ваш config/puma.rb, то он должен иметь следующие:

environment ENV.fetch("RAILS_ENV") { "development" }

, который полагается на RAILS_ENV, а не RACK_ENV.

0

для PROCFILE:

web: bundle exec puma -C config/puma.rb 

затем ссылаться на ваш RACK_ENV вар в файле puma.rb

RACK_ENV должен быть установлен на производство в вашем Heroku конфигурации. Я считаю, что это по умолчанию, но вы также можете установить его. Проверьте, выполнив конфигурацию heroku.

Если он не установлен пробег:

heroku config:set RACK_ENV=production 

EDIT: вы на самом деле не пытается изменить окружающую среду. Или не должно быть. На основании ваших комментариев, что нужно сделать это на сервере Heroku:

heroku config:set GOOGLE_CLIENT_ID=425025269574-gkcj8t19palgj34e5an4gj3mk68grpeg.apps.googleusercontent.com GOOGLE_SECRET=mokumLI9XdD8f10M6oamj7Jx FACEBOOK_KEY="8877114738693318" FACEBOOK_SECRET=779102b0e08e4374ca7c6986924bcf9b7 

Те полномочия вы ошибочно помечены как тест, потому что вы думаете о сервере вы установили для «тестирования», как "тестовая среда." Это не то, что означает Rails, когда оно ссылается на тестовое env. Это означает среду для запуска теста на местном уровне. Просто поставьте эти переменные на героку и позвольте ему быть производством.

+0

Какое содержимое вашего файла puma.rb? – Dave

+0

@Dave https://gist.github.com/toddmetheny/659ea82ba47545e46a09 – toddmetheny

+0

Привет, я добавил файл puma.rb, как вы указали в своем сообщении, и запустил «heroku config: set RACK_ENV = test», но, увы, я все еще получая героку, используя производственные настройки, а не те параметры теста, которые я желаю. – Dave

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