require File.dirname(__FILE__) + '/../capistrano-helpers' if ! defined?(CapistranoHelpers)

CapistranoHelpers.with_configuration do

  namespace :deploy do
    desc "Install gems on the remote server using Bundler."
    task :bundler do
      run "cd #{release_path} && bundle install --deployment --path #{shared_path}/vendor/bundler"
    end
  end

  after "deploy:symlink_shared", "deploy:bundler"

end
require File.dirname(__FILE__) + '/../capistrano-helpers' if ! defined?(CapistranoHelpers)

CapistranoHelpers.with_configuration do

  namespace :deploy do
    desc "Install gems on the remote server using Bundler."
    task :bundler do
      run "cd #{release_path} && bundle install --deployment"
    end
  end

  after "deploy:symlink_shared", "deploy:bundler"

end
--- 
+++ 
@@ -5,7 +5,7 @@
   namespace :deploy do
     desc "Install gems on the remote server using Bundler."
     task :bundler do
-      run "cd #{release_path} && bundle install --deployment"
+      run "cd #{release_path} && bundle install --deployment --path #{shared_path}/vendor/bundler"
     end
   end
 
Install gems in a shared location.

This way they can be reused across deployments.