每次将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)
...
有时我想推动我知道不会更改任何资产,例如对控制器的快速修补程序。是否有可能跳过资产:单个git推送到Heroku的预编译步骤?
感谢。
答案 0 :(得分:14)
当然!您需要在manifest.yml
目录中创建your_app/pubilc/assets
。
该文件可以为空。但理想情况下,您可以在本地预编译所有内容,因此部署到Heroku会更快。
确保在推送到Heroku时也提交了manifest.yml
文件。像git add -f your_app/pubilc/assets/manifest.yml
和git push heroku master
这样的东西就足够了。
答案 1 :(得分:4)
这对我有用。 manifest.yml在我的rails 4项目中没有为我做任何事。
答案 2 :(得分:0)
在rails 4中,创建文件manifest-<md5 hash>.json
而不是manifest.yml
答案 3 :(得分:0)
只需使用rake assets: precompile
进行本地预编译,检查public/assets
中生成的资产,然后推送到heroku。
这会自动在public/assets
目录中创建manifest-.yml或json文件;然后heroku将检测到并报告Detected manifest file, assuming assets were compiled locally
。
注1:有些人在development.rb
中有一行可以将这些行转到public/dev-assets instead
;如果是这样,您需要将dev-assets
重命名为assets
)
注意2:确保您的.gitignore
文件不在public/assets
目录之外。