gpt4 book ai didi

ruby-on-rails - Heroku Rails 3.1 应用程序 - 在本地编译 Assets 与在 slug 编译期间编译 Assets

转载 作者:数据小太阳 更新时间:2023-10-29 06:39:35 32 4
gpt4 key购买 nike

我在支持 Assets 管道的 Heroku Cedar 堆栈上运行 Rails 3.1 应用程序。英雄联盟 lists 3 ways编译 Assets

  1. 在本地编译 Assets 。
  2. 在 slug 编译期间编译 Assets 。
  3. 在运行时编译 Assets 。

显然#3 不利于性能,Heroku 文档也建议不要使用它。但我不确定 #1 和 #2 哪个更好。

#1 要求您运行 rake assets:precompile 并将您的 public/assets 文件夹包含在 git 中。您的 slug 会更大,但我认为部署站点的停机时间会更短。但更大的 slug 尺寸意味着应用程序启动更慢,所以也许这是一个洗礼。

#2 由于预编译是在 Heroku 端完成的,因此部署更新需要更长的时间。但是,您的 slug 会更小,需要管理/记住的东西也更少。

我的问题是 - 哪个选项(#1 或#2)最适合生产,为什么?

到目前为止,它看起来像选项 #2,但我想确保我没有忽略某些东西。

最佳答案

我在这里解决了其中一些问题和我的问题中的一个大问题:Rails 3.1.1 asset pipeline Heroku caching gotcha

如果它对我有用,我更喜欢 #2,这样我就不必 checkin 只会膨胀 git 存储库的编译 Assets 。

在 slug 编译期间编译 Assets 不会导致任何额外的停机时间,因为您现有的应用程序将保持运行直到 slug 编译完成,所以不用担心。

如果您能让它为您所用,我的建议是 #2。如果你最终选择了#1,那么最好的做法是在 rake assets:precompile 之前执行 git rm -r public/assets 以确保没有残留。

关于ruby-on-rails - Heroku Rails 3.1 应用程序 - 在本地编译 Assets 与在 slug 编译期间编译 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7963049/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com