capistrano for php site rollouts

Posted on September 23rd, 2009 in PHP by Russ

I’ve stumbled across the idea of using capistrano for rollouts. I like the idea. It’s not so good for development, though. Here’s what I mean.

On the one hand, my current setup — I make some changes to some code and test it. My testing is on another server. I update the remote server with rsync. It’s quick and painless. I probably do this about once every five to ten minutes while I’m building something. Do it, look. Do it, look. Do it, look. Then when I’m happy and it’s reached a milestone, I commit it to subversion. This is the point where the capistrano would fit in- because it checks it out from the subversion repository.

Now, after doing “cap deploy” every five minutes, I have 12 slightly different copies of the site in the releases directory. What I should have done is use rsync to push my changes to the dev server and use “deploy” only for rolling the code out to the production server– two different tasks that are only superficially the same.

Leave a comment