Можно ли пропустить шаг прекомпиляции актива для одного нажатия git на Heroku?
Каждый раз, когда я развертываю проект 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)
...
Иногда я хочу сделать push, который, как я знаю, не изменяет никаких активов, таких как быстрое исправление для контроллера. Возможно ли пропустить этот актив: шаг прекомпиляции для одиночного нажатия git на Heroku?
Спасибо.
Ответы
Ответ 1
Конечно! Вам нужно создать каталог manifest.yml
в your_app/pubilc/assets
.
Файл может быть пустым. Но в идеале вы прекомпилируете все локально, поэтому развертывание в Heroku будет намного быстрее.
Убедитесь, что вы также передали файл manifest.yml
, когда вы нажимаете на Heroku. Кое-что вроде git add -f your_app/pubilc/assets/manifest.yml
и a git push heroku master
должно быть достаточно.
Ответ 2
Это сработало для меня. manifest.yml ничего не сделал для меня в моем проекте rails 4.
https://gist.github.com/Geesu/d0b58488cfae51f361c6
Ответ 3
В рельсах 4 создайте файл manifest-<md5 hash>.json
вместо manifest.yml
Ответ 4
Просто предварительно скопируйте локально с помощью rake assets: precompile
, проверьте полученные активы, находящиеся в public/assets
, и нажмите на герою.
Это автоматически создаст файл manifest-.yml или json в каталоге public/assets
; то heroku обнаружит это и сообщит Detected manifest file, assuming assets were compiled locally
.
Примечание 1: У некоторых людей есть строка в development.rb
, которая заставляет их перейти к public/dev-assets instead
; если это так, вам нужно переименовать dev-assets
только assets
)
Примечание 2: Убедитесь, что ваш .gitignore
файл не исключает каталог public/assets
.