У меня есть приложение Rails на веб-сервере. Поскольку разработка не выполняется на сервере, я создал небольшой сценарий оболочки ruby, который запускается на сервере всякий раз, когда я решаю, что пришло время развернуть изменения и обновить приложение на сервере. По сути, этот скрипт выполняет извлечение из SVN, bundle install
, rake db:migrate
и, наконец, rake assets:precompile
.
Теперь первые три задачи выполняют свои собственные проверки, чтобы определить, что они должны изменить, а что могут остаться прежними, но задача предварительной компиляции активов, кажется, перекомпилирует все каждый раз, даже если я ничего не менял.
Теперь, для большинства обновлений мне не нужно перекомпилировать ресурсы, так как большинство изменений будут в сценариях ruby. Тем не менее, я почти уверен, что если я удалю этот шаг из сценария обновления, он поразит меня, когда я меньше всего этого ожидаю, и будет трудно понять, в чем проблема.
Итак, есть ли способ сделать умную компиляцию ресурсов, которая проверяет, какие активы должны быть скомпилированы, и компилирует только их? Или хотя бы избежать повторной компиляции, когда там вообще нет необходимости перекомпилировать?