【发布时间】:2011-06-29 17:47:48
【问题描述】:
将静态资产(JavaScript、图像、CSS...)部署到 Amazon S3 的最简单方法是什么?有没有完美的解决方案?
我的意思是“完美”:git push heroku master 是我唯一需要做的事情才能将我的代码推送到 Heroku 并将我的资产上传到 S3。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 deployment amazon-s3 heroku
将静态资产(JavaScript、图像、CSS...)部署到 Amazon S3 的最简单方法是什么?有没有完美的解决方案?
我的意思是“完美”:git push heroku master 是我唯一需要做的事情才能将我的代码推送到 Heroku 并将我的资产上传到 S3。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 deployment amazon-s3 heroku
我认为你不能仅仅使用 git 就能够“完美”地做到这一点。
可能更有用的是使用类似Heroku San 的插件并使用 after_deploy 任务将您的资产移动到它们最终的休息位置?
虽然,静态资产不是最适合 Heroku 的,因此您可以利用它所使用的缓存吗?我们通常将所有用于布局的 js、css 和图像提交到 git 并部署到 Heroku,同时将用户资产上传到 S3。
【讨论】:
我认为您最好在本地编写脚本。一种选择是创建一个 rake 任务来为您处理这个问题(这样您就可以访问所有的 gem 和依赖项,这应该使这成为一个简单的编程问题)并在您推送到 heroku 之前在本地运行它。应该很容易实现自动化。
【讨论】:
现在您可以使用 AssetSync gem,在预编译资产后将所有资产上传到 Amazon S3 存储桶(在 Heroku 上部署时自动):
https://github.com/rumblelabs/asset_sync/
【讨论】: