有谁知道如何在heroku上部署rails引擎?我正在开发的引擎是自包含的,所以我试图避免使用另一个包装器应用程序来部署我的引擎。
固定
我必须在我的引擎根目录中添加config.ru和Procfile,以便heroku知道它是一个rails应用程序。
谢谢, 阿贾伊
答案 0 :(得分:0)
我想更依赖于你如何构建你的引擎。如果你可以在本地独立运行它,它就会像在Heroku上一样运行 - 没有任何关于Heroku的东西会使你的代码运行得更加困难而不是normal constraints
答案 1 :(得分:0)
正如编辑问题所述,需要config.ru
和Procfile
。我刚刚从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中。