Sha256: af0aaba2a3bd719d003f795f153a7f8adf90d81e9315ac76af33481662f0b366

Contents?: true

Size: 1.28 KB

Versions: 94

Compression:

Stored size: 1.28 KB

Contents

# Clear existing task so we can replace it rather than "add" to it.
Rake::Task["deploy:compile_assets"].clear 

namespace :deploy do
  
  desc 'Compile assets'
  task :compile_assets => [:set_rails_env] do
    # invoke 'deploy:assets:precompile'
    invoke 'deploy:assets:precompile_local'
    invoke 'deploy:assets:backup_manifest'
  end
  
  
  namespace :assets do
    
    desc "Precompile assets locally and then rsync to web servers" 
    task :precompile_local do 
      # compile assets locally
      # run_locally do
      #   with rails_env: fetch(:stage) do
      #     execute :bundle, "exec rake assets:precompile"
      #   end
      # end
      run_locally do
        execute "RAILS_ENV=#{fetch(:stage)} bundle exec rake assets:precompile"
      end

      # rsync to each server
      local_dir = "./public/assets/"
      on roles( fetch(:assets_roles, [:web]) ) do
        # this needs to be done outside run_locally in order for host to exist
        remote_dir = "#{host.user}@#{host.hostname}:#{release_path}/public/assets/"
    
        run_locally { execute "rsync -av --delete #{local_dir} #{remote_dir}" }
        
        execute :sudo, :chmod, "-R 777 #{release_path}/public"
      end

      # clean up
      run_locally { execute "rm -rf #{local_dir}" }
    end
    
  end
  
end

Version data entries

94 entries across 94 versions & 1 rubygems

Version Path
magic_recipes_two-0.0.34 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.33 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.32 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.31 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.30 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.29 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.28 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.27 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.26 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.25 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.24 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.23 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.22 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.21 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.20 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.19 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.18 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.17 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.16 lib/capistrano/tasks/assets.rake
magic_recipes_two-0.0.15 lib/capistrano/tasks/assets.rake