自动将文件部署到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脚本并且只是出版了它:

https://github.com/bradt/git-deploy-s3

还有capistrano-s3 gem,类似于jammit-s3,但有点简单和框架不可知。

它只是使用capistrano将公用文件夹中的所有文件发布到amazon s3,因此您可以添加自定义挂钩。 看看这里的文档:

https://github.com/hooktstudios/capistrano-s3

我没有处理CloudFront失效,但我计划添加此function。