使用Heroku更改资产编译位置的正确程序

时间:2016-12-25 22:01:13

标签: ruby-on-rails heroku

我希望从Heroku预编译资产到在开发时预编译它们并将它们推送到Heroku。我理解基本程序是

  RAILS_ENV=production bundle exec rake assets:precompile
  git add .
  git commit -m 'Add precompiled Assets'
  git push production master

但是,这会消除heroku上的所有现有资产。例如,旧电子邮件中引用的图像被清除。有没有办法做到这一点,并提供遗留资产的连续性?

1 个答案:

答案 0 :(得分:0)

根据Heroku支持的一些帮助和下面Schneems的评论,这是我来的非答案。

  • 除非您了解使用链轮管理资产的复杂性,否则请在heroku而不是本地进行预编译。
  • 无论是本地预编译还是heroku,都要使用CDN并在资产上设置远期过期日期。
  • 使用最新版本的链轮(撰写本文时为3.7.1)。
  • 如果您在本地进行预编译,请注意链轮确实保留了资产的最后三个副本,请记住,由您来保持资产与上一版本保持一致。
  • 有很多边缘情况,所以没有适合堆栈溢出格式的简单答案。

总而言之,除非你具有高度的知识或勇气,否则不要在本地进行预编译。

最后,使用CDN。