Автоматическая прекомпиляция ресурсов перед отправкой в ​​Heroku - PullRequest
9 голосов
/ 26 ноября 2011

Можно ли автоматически предварительно скомпилировать мои активы в приложении Rails перед отправкой в ​​Heroku? Я всегда забываю это делать, поэтому было бы неплохо, если бы я набрал git push heroku master, он сначала запустил бы rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." или что-то в этом роде.

Кто-нибудь достиг такого решения? Возможно без крючков? Хотя я подозреваю, что это единственный путь.

Ответы [ 5 ]

15 голосов
/ 02 февраля 2012

Я наконец понял это. Я был действительно в стеке кедра. Проблема заключалась в том, что я проверил свой каталог public в Git, и когда я нажал на Heroku, он понял, что public существует, и, таким образом, предположил, что я предварительно скомпилировал. Запуск git rm -r public и добавление public/** к моему .gitignore, а затем нажатие устраняет проблему.

8 голосов
/ 26 ноября 2011

Звучит так, как будто вас нет на Стог кедра Хероку ? Если вы используете конвейер ресурсов (Rails -v> = 3.1), cedar предоставляет три варианта для компиляции активов.

Из документов :

Если вы не скомпилировали ресурсы локально, мы попытаемся запустить assets:precompile задание во время компиляции слагов.

3 голосов
/ 26 ноября 2011

Вы всегда можете указать псевдоним heroku или что-то похожее на rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." ; git push heroku master в своем профиле bash. т.е.

#in ~/.bash_profile 
alias precompile_push='rake assets:precompile ; git commit add . ; git commit -a -m "Precompile." ; git push heroku master'
1 голос
/ 04 апреля 2012

Я создал гем, который запускается как демон и автоматически извлекает изменения из репозитория Git, прекомпилирует активы, фиксирует и возвращает обратно.

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

1 голос
/ 26 ноября 2011

В стеке кедра это будет сделано во время компиляции слагов.Я рекомендую это.

...