From 7a6177da2ce4087b282fcdb743988c489c6df2ea Mon Sep 17 00:00:00 2001 From: Benjamin ter Kuile Date: Fri, 11 Jul 2014 13:50:31 +0200 Subject: [PATCH] Dedigest assets after deploy --- config/deploy.rb | 7 ++++--- lib/capistrano/tasks/dedigest_assets.rake | 8 ++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 lib/capistrano/tasks/dedigest_assets.rake diff --git a/config/deploy.rb b/config/deploy.rb index 2b141766..e6339af2 100644 --- a/config/deploy.rb +++ b/config/deploy.rb @@ -55,9 +55,10 @@ namespace :deploy do after :restart, :clear_cache do on roles(:web), in: :groups, limit: 3, wait: 10 do # Here we can do anything such as: - # within release_path do - # execute :rake, 'cache:clear' - # end + within release_path do + #execute :rake, 'cache:clear', as: 'www-data' + execute :rake, 'dedigest_assets', as: 'www-data' + end end end diff --git a/lib/capistrano/tasks/dedigest_assets.rake b/lib/capistrano/tasks/dedigest_assets.rake new file mode 100644 index 00000000..d9f4e335 --- /dev/null +++ b/lib/capistrano/tasks/dedigest_assets.rake @@ -0,0 +1,8 @@ +task dedigest_assets: :environment do + extensions = %w[jpg png js css gif] + Dir.glob(Rails.root.join('public/assets/**', "*.{#{extensions.join(',')}}")).each do |asset_path| + next unless asset_path =~ /-[a-f0-9]{32}\.(#{extensions.join('|')})\Z/ + dedigest_path = asset_path.sub(/-[a-f0-9]{32}/, '') + `cp '#{asset_path}' '#{dedigest_path}' 2>/dev/null` + end +end