
I’m a little delayed on the uptake of this, but capistrano has had an update with a host of useful new additions. Of most interest to me is the new baked in support for additional source control systems.
Increase version control support
I believe it was the 2.0 release that included support for mercurial which has been great for the few projects I’ve been using that are dependent on it, and has greatly simplified the deploy scripts. Now comes support for Git baked in, I smell a reason to have a play with it now! ;) Changing the source control management system you use is as simple as:
set :scm, :mercurial
Or of course, if you’d prefer to use Git
set :scm, :git
Dependency checking
Jamis has also included a means of checking that the remote system meets certain requirements prior to a deployment, and will terminate if they are not met. His example shows this quite succinctly:
depend :remote, :match, "rake -V", /version 0\.7/
Plugin deployment tasks
Also particularly cool when you work on projects that share lots of code via plugins is that the plugins can now have their own deployment scripts. Now I can keep all of the plugin specific deployment tasks within a /recipes folder within my plugin and capistrano will automatically load it.
Installation
So how do you get the new version?
sudo gem install capistrano
More info?
Probably best to check out the Capistrano site or Jamis’ blog post