Deploying from source control?
September 12, 2011 7:50 AM   Subscribe

What's the best way to deploy a web app from source control? I'm using Eclipse and Subversion, and what I'd really like is the ability to check in a project, then push a button somewhere to have the server pull the latest version, then run deployment code included in the repository in order build the project, copy files, etc, and then restart the web server.

I could probably write a simple TCP server, but I'm wondering if there's some standard tool out there that does this, bonus points if I don't even need to SSH into the server.
posted by delmoi to Computers & Internet (9 answers total) 7 users marked this as a favorite
 
I think the term you might be looking for is 'Continuous Integration.' Cruise Control is one of the good free ones.
posted by jangie at 7:55 AM on September 12, 2011 [3 favorites]


You don't mention the language, but for Ruby projects, I love Capistrano. I suspect you could make it work to deploy projects in other languages too, though they might have their own idioms.
posted by Alterscape at 8:33 AM on September 12, 2011


jangie's put you on the right path. I've heard good things about Capistrano, and for Java projects I'd definitely recommend Jenkins.
posted by mikeh at 9:11 AM on September 12, 2011 [1 favorite]


Git can do this
posted by wooh at 9:24 AM on September 12, 2011


We've been using Fabric for deployment—it's a lot like Capistrano but with less Ruby-specific stuff. It's not a plug-and-play solution, but it gives you basically all the tools you need to put together a good remote deployment process. Here's a good fabfile for deploying from github.
posted by aparrish at 12:57 PM on September 12, 2011


Chef does this, but it isn't particularly simple. Jenkins is great if you want to make sure your test suite passes first (assuming you have a test suite).
posted by jeffkramer at 2:41 PM on September 12, 2011


Do this with Drupal by leveraging Drush and usually git, but also svn.
posted by Brian Puccio at 4:48 PM on September 12, 2011


We're using Hudson on a couple of projects.
posted by stp123 at 9:00 PM on September 12, 2011 [1 favorite]


Jenkins and Hudson aren't language specific. I've used both on a number of projects, in lots of different languages, none of which was Java.

I've never used Cruise Control. I'm sure it's just fine.

One of the things I *love* about Jenkins & Hudson is the huge repository of add-ons. *Anything* you want it to do, it will do.
posted by colin_l at 3:11 AM on September 13, 2011


« Older Thoughts about hiring a deaf nanny?   |   "Hand over your adjectives and no one gets hurt!" Newer »
This thread is closed to new comments.