13

每次我将 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?

谢谢。

4

4 回答 4

14

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

该文件可以是空白的。但理想情况下,您在本地预编译所有内容,因此部署到 Heroku 会快得多。

确保manifest.yml在推送到 Heroku 时也提交了文件。类似git add -f your_app/pubilc/assets/manifest.yml和 agit push heroku master就足够了。

于 2012-07-22T04:16:28.660 回答
3

这对我有用。manifest.yml 在我的 rails 4 项目中对我没有任何帮助。

https://gist.github.com/Geesu/d0b58488cfae51f361c6

于 2014-12-08T16:55:44.720 回答
1

只需使用 本地预编译rake assets: precompile,签入 中的结果资产public/assets,然后推送到 heroku。

这将自动在您的目录中创建 manifest-.yml 或 json 文件public/assets;然后 heroku 将检测到并报告Detected manifest file, assuming assets were compiled locally

注 1:有些人有一行development.rb让这些转到public/dev-assets instead; 如果是这样,您需要重命名dev-assets为 just assets)

注意2:确保您的.gitignore文件不排除public/assets目录。

于 2016-10-11T16:28:54.920 回答
0

在 rails 4 中,创建文件manifest-<md5 hash>.json而不是 manifest.yml

于 2016-04-21T01:20:37.623 回答