Sha256: a5bde0274b50b4ab2e8c772cbe0662ae04645e44a8925aa3593f298c1c455df0
Contents?: true
Size: 1.71 KB
Versions: 1
Compression:
Stored size: 1.71 KB
Contents
namespace :load do task :defaults do set :assets_dir, 'public/assets' set :packs_dir, 'public/packs' set :rsync_cmd, 'rsync -av --delete' set :assets_role, 'web' after 'bundler:install', 'deploy:assets:prepare' after 'deploy:assets:prepare', 'deploy:assets:rsync' after 'deploy:assets:rsync', 'deploy:assets:cleanup' end end namespace :deploy do namespace :assets do desc 'Remove all local precompiled assets' task :cleanup do run_locally do execute 'rm', '-rf', fetch(:assets_dir) execute 'rm', '-rf', fetch(:packs_dir) end end desc 'Actually precompile the assets locally' task :prepare do run_locally do execute 'RAILS_ENV=production DB_ADAPTER=nulldb rake assets:clean' execute 'RAILS_ENV=production DB_ADAPTER=nulldb rake assets:precompile' end end desc 'Performs rsync to app servers' task :rsync do on roles(fetch(:assets_role)), in: :parallel do |server| run_locally do remote_shell = %(-e "ssh -p #{server.port}") if server.port commands = [] commands << "#{fetch(:rsync_cmd)} #{remote_shell} ./#{fetch(:assets_dir)}/ #{server.user}@#{server.hostname}:#{release_path}/#{fetch(:assets_dir)}/" if Dir.exists?(fetch(:assets_dir)) commands << "#{fetch(:rsync_cmd)} #{remote_shell} ./#{fetch(:packs_dir)}/ #{server.user}@#{server.hostname}:#{release_path}/#{fetch(:packs_dir)}/" if Dir.exists?(fetch(:packs_dir)) commands.each do |command| if dry_run? SSHKit.config.output.info command else execute command end end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
local_precompile-0.0.4 | lib/local_precompile/capistrano.rb |