[chef] Re: Is Chef a good fit for Java deployments?


Chronological Thread 
  • From: Mark Pimentel < >
  • To:
  • Subject: [chef] Re: Is Chef a good fit for Java deployments?
  • Date: Fri, 31 May 2013 12:23:16 -0400

What we do is package the java tomcat app (war) in an rpm along with tomcat 
bundled in the same rpm.  

On a CI build, the app is pushed into a Nexus repository which then exposes 
an Yum repository of these rpms.

Then we have chef do what it does best: install that application as a package 
resource with action :update or controlled via an attr for a specific version 
in production.  If you use Nexus Pro, they have staging repos so you could 
promote these builds through nexus and have your various environments simply 
do an update of the rpm.

This of course assumes you are using a red hat based system.  But if not, I 
would highly recommend the packaging of the app in the manner I described in 
the package format you require.

Once the package is deployed, your cookbook knows how to configure the 
appropriate files to make the tomcat app run.

On 2013-05-31, at 12:15 PM, 
< >
 wrote:

> My company is looking at a way to automate Java deployments, and manage
> environments. There are tools from the Java community that will automate
> deployments, but they won't do configuration management more broadly, and 
> none
> of them are terribly well established. 
> 
> Our environments are relatively diverse, but to start with, we'd like to 
> manage
> a collection of apps running on Tomcat servers. We build with Maven and 
> deploy
> CI snapshots and releases to an internal Nexus repository. In an ideal 
> world,
> I'd like to be able to do two things:
> 
> 1. When a new release occurs, tell Chef that test servers should receive 
> that
> release by incrementing the version number. Then have Chef download the
> binaries from Nexus (which I'm sure it can do with its Maven resource), and
> pass them to Tomcat. It seems to me this should be pretty easy.
> 
> 2. On development servers, have Chef continuously check the snapshots on 
> Nexus
> and perform the same installation procedure when an update occurs. This also
> seems like it's probably achievable.
> 
> What worries me is that Chef doesn't seem to be very widely used for Java
> environments, and I'm wondering if there's a reason. Am I going down the 
> wrong
> road, or does it seem like this is a good fit?
> 
> For background, Chef will also need to configure agents for Logstash and 
> Nagios
> (which I know it can do), and update an XML file that defines Logback 
> logging
> configuration for Tomcat.




Archive powered by MHonArc 2.6.16.

§