Я использую Capistrano для развертывания моего приложения Rails 4. Предварительная компиляция ресурсов на сервере очень медленная, поэтому я вручную предварительно скомпоную ее в разработке с помощью RAILS_ENV=production bundle exec rake assets:precompile
и добавлю ее в мой git-репо.Как можно очистить старые ресурсы Rails, когда они предварительно скомпилированы локально и добавлены в репозиторий?
Проблема, с которой я столкнулся, заключается в том, что задача assets:precompile
не удаляет старые активы. Итак, у меня есть несколько копий application-<manifest code>.css
и application-<manifest-code>.js
в моих публичных активах.
Capistrano имеет deploy:assets:clean_expired
Задача для этого, хотя я не уверен, как я могу воспроизвести его в моем случае. Я видел другие подходы, которые используют задачу capistrano для прекомпиляции активов и rsync их. Эта ссылка - http://keighl.com/post/fast-rails-assets-precompile-capistrano/ - имеет подход для Rails 3 с использованием жемчуга turbo-sprockets-rails3
.
Есть подобные вопросы здесь - Do I have to run rake assets:clean before rake assets:precompile? и Confusion about rake assets:clean/cleanup on the asset pipeline in rails
Как я могу адаптировать его для Rails 4?
gist link is dead –
Исправлена ссылка. – rohitmishra