在heroku部署Rails应用程序,其资产位于Amazon S3

时间:2015-06-24 10:45:39

标签: ruby-on-rails ruby ruby-on-rails-4 heroku amazon-s3

我试图让Rails应用服务器成为S3的资产。我没有使用任何宝石,因为想要手动操作以更好地理解这个过程。有关提供静态资产的问题是:

  1. 我应该将哪些资产上传到我的S3资料库:来自my_app / assets还是来自my_app / public / assets?
  2. 如果是第二个选项,则意味着我必须先预先编译它们,对吧?然后上传整个文件夹my_app / public(或my_app / public / assets?)?
  3. 从现在开始我在heroku部署网站,而heroku的最大回购量是300Mb,我的资产规模要大得多,我应该怎么做?以某种方式使应用程序"理解"它的资产位于S3,所以当我说" git push heroku master"它不会从my_app/assetsmy_app/public/ folder
  4. 上传所有内容

1 个答案:

答案 0 :(得分:1)

您需要更改Rails配置中的config.action_controller.asset_host选项。看看http://guides.rubyonrails.org/configuring.html#rails-general-configuration

您确实需要预编译资产并将它们同步到S3。请记住使用RAILS_ENV=production。查看然后手动复制的好地方是asset_sync gem