Capistrano 2.0 Preview 1
Posted by jamis April 25, 2007 @ 04:58 AM
Capistrano 2.0 Preview 1 is now available for installing and testing:
gem install -s http://gems.rubyonrails.com capistrano
(It’ll show up as version 1.99.0; the 1.99.x series will be used as the preview releases for 2.0)
For those of you late to the party, Capistrano is a utility for executing remote commands in parallel on multiple remote servers. It is ideal for system administration, and for deploying web applications.
Note, though, that this release is not entirely backwards compatible with Capistrano 1.x, so you may need to massage your recipes a little to make them work smoothly under the new version. In order to make the upgrade process as smooth as possible, I’ve begun compiling a few documents to point out new features, gotchas, and upgrade paths:
http://www.capify.org/upgrade
Like Capistrano 2.0, the new www.capify.org website is still a bit rough in spots, and will see more documentation appearing over the next few weeks. If you have any feedback for either Capistrano 2.0 or the website, please join us on the Capistrano mailing list and make your voice heard!

Thanks Jamis, Wow, looks fantastic! Looking forward to giving it a test drive. Thanks for all your work. The more I use Capistrano the more I cant imagine doing things any other way. Even for small projects. Great stuff.
I like the website name =P.
Is that the word you use when you use Capistrano on a project?
Tip: I didn’t have Highline installed, and the install line above couldn’t find the highline gem.
What worked was to “gem install highline”, then install capistrano as mentioned above.
Sounds great, i’ll test it soon!
Capistrano? what is it? generally putting at least a 1 line descriptor of what you are announcing is good form. tnx.
Thanks for the suggestion, anon. I’ve added a couple of sentences to the announcement.
That graphic on capify sure is relaxing…
I’m new to Ruby. When you write
Capistrano is a utility for executing remote commands in parallel on multiple remote servers.
Are we talking any commands or ‘just’ ruby specific code?
‘Cause I have a few hundred wintel and unix servers to manage – yet another tool to run around and execute commands would be pretty cool.
Brian, I mean shell commands. Capistrano cannot be used to manage windows machines, although some people have reported success with cygwin. It just basically logs into each machine and runs the commands you specify, as if you had typed them on the command-line.
Hi Jamis – does 2.0 include any of the following:
Thanks Greg
Greg, there is “cap deploy:upload”, which can be used to upload a subset of files to the remote servers.
No support yet for deploying with a shared checkout of rails, but I’d like to include that eventually, especially if it can be done without being specific to rails.
Jamis- when SVN does an export from a workspace, does it hit the server/repository again or does it read from the workspace?
Would it be faster to juse do an “svn update” followed by an “svn export” from the workspace (shared checkout) ?
Jake, it will hit the repository.
I should clarify; it will hit the repository if you are using the export functionality as exposed by Capistrano. However, you can always write your own tasks that use the alternative export syntax of subversion to export from a working copy.
I’m with Jake on this one… I cannot use the existing tasks to deploy, because my development SVN server is behind a firewall, and the production machines cannot access it. Not to mention the fact that the production servers don’t have svn installed. (Some people have minimalist install policies for the purpose of security… and I can’t really argue with that)
Also, while it seems the usual method around here is to do development testing on one’s own workstation and then deploy to the real site, I have several projects where I need more deploy stages… I need to deploy to a testing environment which is set up like production, but on a a dedicated test server. Onced it has passed tests on that server, then it can be deployed to the real production servers.
DGM, you’re right, in your situation, ou cannot use the deployment tasks from Capistrano 1.x.
Capistrano 2.0 provides more options. Specifically for people in your situation, cap2 now provides “deploy_via :copy”, which will do the checkout locally, tar it up, sftp the archive to the remote machines, and then unarchive to the correct location. It works like a charm on boxes that have no access to the repository.
Capistrano 2.0 Preview 2 is available. So Preview 1 can be skipped.
b6067ab7 jozrkrnsos5709 86871×2lvn55fb8w