Sha256: ef4147ebb8ff3cf1c665e0e98ac1cb77c7b3a05ee31fea6d8b5a21275a8a6d92
Contents?: true
Size: 1.56 KB
Versions: 1
Compression:
Stored size: 1.56 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 precompile_env = fetch(:precompile_env) || fetch(:rails_env) || 'production' with rails_env: precompile_env do execute "rake", "assets:clean" execute "rake", "assets:precompile" end 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 execute "#{fetch(:rsync_cmd)} #{remote_shell} ./#{fetch(:assets_dir)}/ #{server.user}@#{server.hostname}:#{release_path}/#{fetch(:assets_dir)}/" if Dir.exists?(fetch(:assets_dir)) execute "#{fetch(:rsync_cmd)} #{remote_shell} ./#{fetch(:packs_dir)}/ #{server.user}@#{server.hostname}:#{release_path}/#{fetch(:packs_dir)}/" if Dir.exists?(fetch(:packs_dir)) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
capistrano-local-precompile-1.1.5 | lib/capistrano/local_precompile.rb |