[Update 03/05/2006: SwitchTower has been renamed Capistrano]
Word has been leaking out for a while now. About three weeks ago I blogged about application deployment with Rails, and hinted that the utility I talked about would be released “soon”.
Well, that utility was scrapped and completely rewritten, from the ground up, in the intervening weeks. Several members of the Rails core team tried the early version of it and gave lots of great feedback, and the utility just kept getting better and better. The result, called SwitchTower, is now bundled with Rails and is currently publicly accessible in the Rails trunk. (Or you can grab it via svn.)
So, what is SwitchTower? Well, it’s a lot more than a utility for deploying applications—it basically lets you execute commands on multiple remote servers, in parallel. It also lets you group your servers by role and specify tasks that should only be executed for certain roles. And oh, so much more.
But don’t let me bore you with it here. You can read all about it on the brand new (and very roughly drafted) SwitchTower: Automating Application Deployment book at the Rails manuals site. Look it over, try it out, and give feedback. This is pretty much an alpha release right now, so don’t expect it to work perfectly. But it does work pretty well—we’re using it at 37signals to manage the deployment of Tada Lists, right now, and will be using it to manage Basecamp and Backpack in the very near future.