Automatically precompile assets before pushing to Heroku

后端 未结 5 1231
醉酒成梦
醉酒成梦 2021-02-04 15:15

Is it possible to automatically precompile my assets in a Rails app before pushing out to Heroku? I always forget to do it, so it would be nice if when I typed git push he

相关标签:
5条回答
  • You could always alias heroku or something similar to rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." ; git push heroku master in your bash profile ie

    #in ~/.bash_profile 
    alias precompile_push='rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." ; git push heroku master'
    
    0 讨论(0)
  • 2021-02-04 15:27

    I finally figured this out. I was indeed on the Cedar stack. The problem was that I had checked my public directory into Git, and when I pushed to Heroku, it realized that public existed, and thus assumed I precompiled. Running git rm -r public and adding public/** to my .gitignore, then pushing, fixes the problem.

    0 讨论(0)
  • 2021-02-04 15:32

    On the cedar stack, it will do this during slug compilation. I recommend that.

    0 讨论(0)
  • 2021-02-04 15:39

    I've created a gem that run as daemon and automatically pull changes from a Git repo, precompiles assets, commit and push back.

    https://github.com/nectify/rails-precompile2git/

    0 讨论(0)
  • 2021-02-04 15:43

    It sounds like you might not be on Heroku's Cedar Stack? If you're using the asset pipeline (Rails -v >= 3.1), cedar provides three options for compiling assets.

    From the docs:

    If you have not compiled assets locally, we will attempt to run the assets:precompile task during slug compilation.

    0 讨论(0)
提交回复
热议问题