是否有可能跳过Heroku上单个git推送的资产预编译步骤?

Eli*_*Eli 13 ruby-on-rails heroku ruby-on-rails-3.2

每次我将我的Rails 3.2项目部署到Heroku时,rake assets:precompile运行:

$ git push heroku master  
...
----> Preparing app for Rails asset pipeline
      Running: rake assets:precompile
      Asset precompilation completed (189.17s)
...
Run Code Online (Sandbox Code Playgroud)

有时我想推动我知道不会改变任何资产,例如对控制器的快速修补程序.是否有可能跳过资产:单个git推送到Heroku的预编译步骤?

谢谢.

Ben*_*Hao 14

当然!您需要创建一个manifest.ymlin your_app/pubilc/assets目录.

该文件可以为空.但理想情况下,您可以在本地预编译所有内容,因此部署到Heroku会更快.

manifest.yml当你推送到Heroku时,确保你也提交了文件.喜欢的东西git add -f your_app/pubilc/assets/manifest.ymlgit push heroku master应该足够了.

  • 从你的控制台运行`heroku run rake assets:precompile`将不会**为你正在运行的Heroku dyno预编译资产.在Heroku上运行的每个进程都在不同的虚拟环境中运行. (5认同)
  • 如果你在部署到Heroku时仔细观察,会有一行说"检测到manifest.yml".假设资产在本地编译.因此,清单文件基本上是告诉Heroku不执行资产编译的信号.我想你总是可以在你的控制台上手动运行`heroku run rake assets:precompile`. (2认同)