Capistrano Strategy: Vagrant Copy Bundled

This recipe for capistrano utilizes the regular copy strategy. However, instead of bundling the gems on the remote servers, they are already pre-bundled on the Vagrant virtual machine and sent as one package.

Based on capistrano-strategy-copy-bundled by Rudolf Schmidt


System wide usage

gem install 'capistrano-strategy-vagrant-copy-bundled'

In your Gemfile

gem 'capistrano-strategy-vagrant-copy-bundled'


As this recipe does it's own bundling, there is not need to: require 'bundler/capistrano'.

All you have to do in your config/deploy.rb:

require 'capistrano-strategy-vagrant-copy-bundled'
set :deploy_via, :vagrant_copy_bundled           # bundle gems locally and send them packed to all servers

Additionally to that, you can set the usual options when using the regular :copy strategy for capistrano, like:

set :copy_dir,      "/tmp/#{application}"   # path where files are temporarily put before sending them to the servers
set :copy_exclude,  ".git*"                 # we exclude the .git repo so that nobody is able to temper with the release

Copyright © 2012 Krzysztof Zalewski. Released under the MIT license.