Using Capistrano 1.4 with 2.x
We’ve been a bit slow to upgrade to Capistrano 2.x, and have a lot of existing applications that depend upon Capistrano 1.4 for deployment.
One tactic we’ve taken is to write a custom script to explicitly use 1.4 in conjunction with 2.x. A minor hack from the original, and we have:
#!/usr/bin/env ruby begin require 'rubygems' gem 'capistrano', '<= 1.4.1' rescue LoadError # no rubygems to load, so we fail silently end require 'capistrano/cli' Capistrano::CLI.execute!
I threw this into a script called
/usr/local and can now do:
illian:~ zach$ cap1.4 -V Capistrano v1.4.1 illian:~ zach$ cap -V Capistrano v2.1.0
Obviously, a better approach would be to freeze in the capistrano gems per project, and access them via
RAILS_ROOT/script/cap, but that too has been time sensitive. Notice a trend here?