2012-02-24 4 views
2

Кто-нибудь знает, как развернуть двигатель рельсов на героку? Двигатель, который я разрабатываю, является самодостаточным, поэтому я стараюсь избегать создания другого приложения-рельсов оболочки для развертывания моего движка.Развертывание рельсов двигателя на Heroku

FIXED

мне пришлось добавить config.ru и PROCFILE в моей корневой директории двигателя так, что Heroku знает, что св рельсы приложения.

Спасибо, Аджай

+3

Вы можете поделиться кодом, который вы использовали в вашем config.ru? Я пытался выяснить, как это сделать. – Andrew

+1

Согласен, пожалуйста, поделитесь своим config.ru. – JagWire

+0

Я также был бы рад, если бы вы поделились своим решением. – schmijos

ответ

0

Я думаю, это в большей степени зависит от того, как вы создали свой двигатель. Если вы можете запустить его автономным локально, это будет работать нормально, как, что на Heroku - там нет ничего о Heroku, который бы работает ваш код тяжелее, кроме normal constraints

+0

Я запускаю двигатель из фиктивного приложения, созданного по умолчанию. Как геройку знает, что нужно запустить фиктивное приложение? –

+0

ka8725, я не пытался развернуть приложение rails, но я пытался развернуть движок rails. В моем случае нет rake db: seed, db: migrate и т. Д. –

0

Как редактирования вопроса состояний, config.ru и Procfile необходимы. Я просто скопировал config.ru из приложения Rails и изменил путь:

# This file is used by Rack-based servers to start the application. 

require ::File.expand_path('../test/dummy/config/environment', __FILE__) 
run Rails.application 

Что касается Procfile, следующие будут работать:

web: bundle exec rackup -p $PORT 

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

Для того, чтобы получить соответствующие журналы на Heroku, добавьте следующие строки в Gemfile

gem 'rails_12factor', group: :production 

активов компиляции не будет работать, если вы не определите assets:precompile задачу (по https://devcenter.heroku.com/articles/ruby-support#rails-4-x-applications-compile-phase).

Я просто добавил следующее по двигателю Rakefile:

namespace :assets do 
    desc 'Precompile assets within dummy app' 
    task :precompile do 
    Dir.chdir('test/dummy') do 
     system('bundle exec rake assets:precompile') 
    end 
    end 
end 

Я также отключил сжатие JS (или вы можете добавить uglifier камень в Gemfile).

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