5

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.

John Munsch
  • 19,530
  • 8
  • 42
  • 72

5 Answers5

2

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
  • 35,575
  • 15
  • 95
  • 119
  • 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 Oct 12 '09 at 17:54
1

LiveRebel might be a suitable tool for this task. It provides CLI API and also a Hudson/Jenkins plugin for automation

Anton Arhipov
  • 6,479
  • 1
  • 35
  • 43
1

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

Community
  • 1
  • 1
Pascal Thivent
  • 562,542
  • 136
  • 1,062
  • 1,124
  • I had a feeling it too might be too Ruby and Rails oriented. I'll go back and give it another look. – John Munsch Oct 12 '09 at 17:55
  • 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 Oct 12 '09 at 19:15
1

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.

Joshua Partogi
  • 16,167
  • 14
  • 53
  • 75
  • The problem with Cargo is that usually after a couple of redeploys, your application will fail with OutOfMemoryException (due to classloaders leaking). Safer option would be to restart the entire application server during the update (try out LiveRebel, it can automate that for you). – Neeme Praks Mar 26 '13 at 14:02
1

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
  • 3,745
  • 6
  • 34
  • 49