我在Heroku Cedar堆栈上运行一个支持资产管道的rails 3.1应用程序. Heroku
lists 3 ways编制资产
>在本地编制资产
>在汇编编译期间编译资产.
>运行时编译资产@H_404_5@
显然#3对于性能不利,而且Heroku文档也反对它.但我不知道#1和#2之间哪个更好.@H_404_5@
#1要求您运行rake资源:预编译,并在git中包含您的public / assets文件夹.您的s lug将会更大,但我认为部署站点的停机时间会更低.但是较大的lug lug lug size size means means means………@H_404_5@
由于在Heroku方面进行了预编译,#2将部署更新需要更长的时间.但是,您将拥有一个较小的s and,并且管理/记住更少.@H_404_5@
我的问题是 – 哪个选项(#1或#2)最适合生产,为什么?@H_404_5@
到目前为止,它看起来像是#2选项,但我想确保我不会忽视某些东西.@H_404_5@
解决方法
我在这里提出了一些这些问题和一个很大的问题:
Rails 3.1.1 asset pipeline Heroku caching gotcha
我喜欢#2,如果它适用于我,所以我不必检查编译的资产,只是膨胀git存储库.@H_404_5@
在汇编编译期间编制资产不会导致任何额外的停机时间,因为您现有的应用程序将保持直到小数汇编完成,所以不用担心.@H_404_5@
我的建议将是#2,如果你可以使它为你工作.如果你最终做到了#1,那么最好的做法是在rake资产之前将gm rr-r public / assets:预编译以确保没有cruft仍然存在.@H_404_5@