自动将文件部署到Amazon S3?
我有一个Rails项目,我将部署到非常棒的Heroku 。
我真的希望能够自动将我的资源自动推送到Amazon S3,在这种情况下资源是我的图像,样式表和javascript。
显然我可以自己写一些capistrano任务,但是有没有人知道这样做的事情呢?
注意:我不需要能够将用户文件上传到S3,因为我已经通过paperclip上传了这些文件。 我在谈论运行该站点所需的实际项目文件。
我找到了一篇很好的文章,它实际上解释了使用Capistrano脚本缩小,压缩和上传静态内容(js / css)到Amazon S3的方法。
查看http://www.makeurownrules.com/ruby-on-rails/minify-compress-synch-amazons3-capistrano上的文章
干杯,卡皮尔
我碰到了你的问题寻找同样的答案。 我对Jammit作为资产包装工具有很好的经验,我刚刚碰到了可以部署到S3的gem,似乎完全符合您的需求。
https://github.com/railsjedi/jammit-s3
最好的,Jeroen
我尝试了Jammit S3,但它没有我想要的控件,所以我编写了自己的CLI脚本并且只是出版了它:
还有capistrano-s3 gem,类似于jammit-s3,但有点简单和框架不可知。
它只是使用capistrano将公用文件夹中的所有文件发布到amazon s3,因此您可以添加自定义挂钩。 看看这里的文档:
https://github.com/hooktstudios/capistrano-s3
我没有处理CloudFront失效,但我计划添加此function。
- Ruby on Rails / Paperclip / AWS :: S3 :: NoSuchBucket错误
- Seahorse :: Client :: NetworkingError使用rails上传Amazon S3文件
- 使用Paperclip和Amazon s3上传照片时缺少凭据
- Rails Heroku服务器回形针Amazon S3 – AWS :: S3 :: Errors :: RequestTimeout
- 使用Carrierwave在Heroku上载大文件
- 适用于S3文件副本的AWS SDK v2 AllAccessDisabled错误
- Rails Paperclip S3 – 缺少必需:桶选项
- 从S3下载Carrierwave上传
- 如何使用rails应用程序中的s3在存储桶之间复制文件?