在Heroku上部署Rails引擎

时间:2012-02-24 07:37:46

标签: ruby-on-rails ruby-on-rails-3 heroku

有谁知道如何在heroku上部署rails引擎?我正在开发的引擎是自包含的,所以我试图避免使用另一个包装器应用程序来部署我的引擎。

固定

我必须在我的引擎根目录中添加config.ru和Procfile,以便heroku知道它是一个rails应用程序。

谢谢, 阿贾伊

2 个答案:

答案 0 :(得分:0)

我想更依赖于你如何构建你的引擎。如果你可以在本地独立运行它,它就会像在Heroku上一样运行 - 没有任何关于Heroku的东西会使你的代码运行得更加困难而不是normal constraints

答案 1 :(得分:0)

正如编辑问题所述,需要config.ruProcfile。我刚刚从Rails应用程序中复制了config.ru并更改了路径:

# 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

您可能希望为Web服务器添加gem,因为它将默认为不适合生产的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 gem添加到Gemfile中。