We do a lot of deployments of Java web applications to Weblogic and Jboss servers. Quite often the deployment looks like this:
Copy the code and default configs to a staging directory on the application server or Weblogic admin server.
Edit a properties file to set environment-specific variables (IP addresses, usernames, etc.)
Run ant to create the ear/war and drop it in the appropriate directory.
Start services
This has proven to be a very unfriendly set of steps to use with Puppet as our configuration management tool. We would prefer a process which is much more similar to the Package, File, Service trifecta of Puppet, but having to configure the properties before building the ear/war makes this difficult because it requires an extra step to build the war/ear on the host after the properties have been populated.
Is there a way to build a war/ear which is environment-agnostic and keep the configurations external, removing the extra build step?
Has anyone specifically worked with web applications and Puppet, and do you have any recommendations?