如何通过CDN托管Rails资产而不将资产推送到Heroku

时间:2015-01-22 19:45:45

标签: ruby-on-rails heroku amazon-web-services

所以我目前有太多资产要推送到我的免费heroku帐户。我目前在hostgator服务器上托管它们,这是有问题的,因为通过对每个映像进行远程请求,并且服务器本身不具有说明Amazon CloudFront的性质,它明确地为CDN加速和缓存事物,它明显加载所有图像在DOM中都很慢。我的问题是,如何通过CloudFront提供我的资产而不将其推送到我的heroku帐户?

1 个答案:

答案 0 :(得分:1)

最佳解决方案是创建一个自定义部署脚本,其中包含专门用于将资产上传到S3的步骤,然后通过CloudFront从S3提供资产。(查看https://github.com/rumblelabs/asset_sync的想法)

具体做法是:

  1. 将您的资源添加到.gitignore
  2. 在您的production.rb文件中正确设置资产主机
  3. 部署中的步骤1是将更改后的资产复制到与您期望的
  4. 相同的文件夹结构中的S3存储桶
  5. 部署中的第2步是您使用标准命令git push heroku master进行回购 - 如果正确忽略它们,则不会推送您的资产。