require “capistrano-copy-bundle”
desc %{execute “bundle package –all” and store to .tar} task :make_bundle_package do
run_locally do execute :bundle, "package --all" execute :tar, "-czf #{CapistranoCopyBundle.local_tarfile} vendor/cache/" end
end
namespace :deploy do
desc "copy bundle to releases" task :copy_bundle => :make_bundle_package do on release_roles :all do within deploy_to do upload! CapistranoCopyBundle.local_tarfile, CapistranoCopyBundle.remote_tarfile execute :tar, '--extract --file', CapistranoCopyBundle.remote_tarfile, '--directory', shared_path execute :rm, CapistranoCopyBundle.remote_tarfile end end run_locally do if File.exists? CapistranoCopyBundle.local_tarfile execute :rm, CapistranoCopyBundle.local_tarfile end end end
end