将静态资产部署到Amazon S3

时间:2011-02-18 10:37:00

标签: ruby-on-rails ruby-on-rails-3 deployment amazon-s3 heroku

将静态资产(JavaScript,图像,CSS等)部署到Amazon S3的最简单方法是什么?有没有完美的解决方案?

“完美”我的意思是:git push heroku master是我唯一需要做的就是将我的代码推送到Heroku并将我的资产上传到S3。

3 个答案:

答案 0 :(得分:5)

我认为你不能仅仅使用git就能完美地完成它。

可能更有用的是使用类似Heroku San插件的内容并使用after_deploy任务将资产移动到最终的休息位置?

虽然,不是最适合Heroku的静态资产,所以你可以利用它使用的缓存?我们通常会将布局的所有js,css和图像提交到git并部署到Heroku,同时将用户资源上传到S3。

答案 1 :(得分:1)

我认为你在本地编写脚本会更好。一个选项,创建一个rake任务来处理这个问题(这样你就可以访问所有的gems和依赖项,这应该使这个编程变得简单)并在你推送到heroku之前在本地运行它。应该很容易实现自动化。

答案 2 :(得分:0)

现在您可以使用AssetSync gem,在预编译资产后将所有资产上传到Amazon S3存储桶(在Heroku上部署时自动):
https://github.com/rumblelabs/asset_sync/