Ruby on rails Rails 3到Amazon CloudFront的自动资产部署?
Rails 3.1中是否有一个gem或方法可以自动将资产上传到amazon cloud front,并使用这些资产而不是本地托管的资产?我想手动上传编译后的资产,然后更改Rails应用程序配置以使用该资产主机很容易,但是当资产被修改时,上传到CloudFront需要再次手动完成。有什么好办法吗?看一看-我们只是在S3上使用它,但我想一旦资源在S3上,CloudFront部分就很容易了 它最终成为一个rake任务,您只需添加它以在部署过程中执行。另一个选项是,自述文件中有一个将其用于cloudfront的示例。 它应该适用于Rails3.1,但我只在3.0.x上使用过它Ruby on rails Rails 3到Amazon CloudFront的自动资产部署?,ruby-on-rails,ruby-on-rails-3,ruby-on-rails-3.1,amazon-cloudfront,Ruby On Rails,Ruby On Rails 3,Ruby On Rails 3.1,Amazon Cloudfront,Rails 3.1中是否有一个gem或方法可以自动将资产上传到amazon cloud front,并使用这些资产而不是本地托管的资产?我想手动上传编译后的资产,然后更改Rails应用程序配置以使用该资产主机很容易,但是当资产被修改时,上传到CloudFront需要再次手动完成。有什么好办法吗?看一看-我们只是在S3上使用它,但我想一旦资源在S3上,CloudFront部分就很容易了 它最终成为一个rake任务,您只需添加它以在部署过程中执行。另一个选项是,自述文件中有一个将其用于cloudfr
Ss John说,所有的解决方案最终都将是一个rake任务+一点逻辑来改变rails中的资产路径 如果您使用Cloudfronts“自定义源”选项,则无需上传任何内容,Cloudfront将在需要时从您的服务器获取资产。有关此设置的详细信息,请参阅:
一定要在github上查看资产同步。或者我们的Heroku dev中心的文章 使用asset\u sync与CDN自定义源站相比,性能有了相当大的提高,让您的应用程序在生产中惰性地编译资产,或者直接从应用程序服务器上为其提供预编译的服务。但我要说的是。我写的
- 使用asset_sync和S3,您可以预编译资产,这意味着所有资产都已准备就绪,可以立即在资产主机/CDN上提供服务
- 您只能在预编译时在application.rb中需要:assets捆绑包,以节省生产中的内存
- 您的应用程序服务器不会因资产请求而受到攻击。你知道,你可能会在这上面花费昂贵的计算时间。计算
- 默认情况下,将设置最佳实践HTTP缓存头
- 您可以通过一个额外的配置启用自动gzip压缩