views:

501

answers:

4

We already have a good build server in Hudson but we want something that would let us startup and shutdown servers, push out new deployments of software (which is much more involved than just a single WAR or EAR going somewhere, there is copying, extracting, renaming, etc.), and various other tasks we would like to automate.

I've looked at SmartFrog (seems largely academic rather than commonly used), ControlTier (a dose of heavy complexity to go with your complexity), Capistrano (Ruby and Rails focused), and Func (no docs at all, their MediaWiki has been wiped). Is there nothing that is a good 80/20 solution for this kind of thing. Surely you could have a tool that would offer a lot of what ControlTier offers without all the overhead.

The alternative is Ant scripts to do everything (possibly available through our existing Hudson server) or even a Hudson plugin of some type but that feels kludgy to me and I'm just not liking it as a solution (plus we might be rebuilding something when we don't need to).

Please, tell me about a good alternative.

+2  A: 

We are using Ubuntu only and use Debian packages to distribute builds across our servers and control them with init scripts. It's also great to setup a new server. Just add dependencies to Java, MySql and whatever you need and you'll be up and running a new deployment within seconds.

sfussenegger
That's a neat idea and might work if I didn't work for somebody in love with )(%*) AIX and SUSE Linux. Thanks again for those excellent choices guys...
John Munsch
+1  A: 

Chef was mentioned here but I have no experience with it.

Pascal Thivent
I had a feeling it too might be too Ruby and Rails oriented. I'll go back and give it another look.
John Munsch
I've looked at it further and I definitely like it for not being as complicated as ControlTier but it is very Ruby and Rails centric and would require Ruby and Gems installed everywhere to run, plus it's not going to come out-of-the-box with support for things like WebLogic or Sybase (or hardly any other Java oriented tools either).
John Munsch
+1  A: 

Hi John. You might want to try Cargo. You can use ant and maven for the deployment definition you want and then set Hudson to point at your ant's build.xml or maven's pom.xml.

jpartogi
+1  A: 

There is also Puppet that you need to check out. You might need to read this great whitepaper on achieving fully automated provisioning

-Ken

ken