change deploy behaviour

This commit is contained in:
2015-10-04 13:03:16 +02:00
parent af3ecfdf79
commit 3109bdf4b1
2 changed files with 28 additions and 2 deletions
+4 -2
View File
@@ -96,6 +96,7 @@ namespace :deploy do
with rails_env: fetch(:rails_env) do
execute 'bin/rake assets:precompile'
execute 'bin/rake assets:dedigest'
execute 'bin/rake assets:gzip'
end
end
@@ -105,10 +106,11 @@ namespace :deploy do
#end
#end
rsync_host = host
run_locally { execute "rsync -av --delete ./public/assets/ #{fetch(:user)}@#{rsync_host}:#{shared_path}/public/assets/" }
#run_locally { execute "rsync -av --delete ./public/assets/ #{fetch(:user)}@#{rsync_host}:#{shared_path}/public/assets/" }
run_locally { execute "rsync -av ./public/assets/ #{fetch(:user)}@#{rsync_host}:#{shared_path}/public/assets/" }
execute :chown, "-R www-data:www-data", shared_path.join('public/assets/')
#run_locally { execute 'rm -rf public/assets' }
run_locally { execute 'rm -rf public/assets' }
end
end
+24
View File
@@ -1,3 +1,4 @@
require 'pry'
namespace :assets do
task dedigest: :environment do
extensions = %w[jpg png js css gif eot svg woff2 woff ttf]
@@ -7,4 +8,27 @@ namespace :assets do
`cp '#{asset_path}' '#{dedigest_path}' 2>/dev/null`
end
end
desc "Create .gz versions of assets"
task gzip: :environment do
zip_types = /\.(?:css|html|js|otf|svg|txt|xml)$/
public_assets = File.join(Rails.root, "public", Rails.application.config.assets.prefix)
Dir.glob("#{public_assets}/**/*").each do |f|
next unless f =~ zip_types
mtime = File.mtime(f)
gz_file = "#{f}.gz"
next if File.exist?(gz_file) && File.mtime(gz_file) >= mtime
File.open(gz_file, "wb") do |dest|
gz = Zlib::GzipWriter.new(dest, Zlib::BEST_COMPRESSION)
gz.mtime = mtime.to_i
IO.copy_stream(open(f), gz)
gz.close
end
File.utime(mtime, mtime, gz_file)
end
end
end