Brett Porter wrote:
Vincent Massol wrote:

* support storing in the project the container's configuration files
  - for weblogic that's the domain config
  - for jboss that's the server config
- for tomcat that's server.xml, tomcat-users.xml, etc


I usually put this in a separate module (which I think agrees with this), or omit it altogether opting to set it up manually for the target environment or use defaults for testing (where the config for each webapp would go in src/deployment/tomcat-5/context.xml for example). I know this doesn't work for all of the servers though.


* support building for different target environments
  - support container-specific deployment descriptor for example
  - support container config files that depend on the environment. For
example you may want to run on port 8080 in your dev env and on port 80 in your production env. You may want to run on a single server in the dev env
but in cluster on the production env, etc.


I think at least at this point configuration management is out of scope for Maven. We could use archetypes or similar to generate appropriate config files, but in general I've found the differences go beyond templating and its best to have a general versioning and deployment mechanism for your server setup.


I have to agree.

I actually work full time on complex system deployment, of which the core runtime. SmartFrog, is LGPL-licensed and sourceforge hosted (http://smartfrog.org/). If you want to know more, the latest slides are

http://people.apache.org/~stevel/slides/oscon.pdf

Key things about configuring production systems are that
 -you have many systems, all slightly different
 -ops dont always let engineering near them
-every part of a system needs to be configured consistently, and their start/stop choreographed properly

Maven, like ant is a build tool. Its used by developers; not operations. Its certainly something that can
 -take configuration hints from developers
-populates deployment descriptors from this data. e.g. libraries & versions used at build times

However, it cannot be the tool used by operations, and should not try to do this. its a different problem, arguably a more complex one.

Generating stub web.xml, ear.xml config files is something that build tools (and xdoclet) try and do. But there the problem is really that a build time artifact (the WAR and EAR file) also contains late-binding, often cluster-specific, configuration data alongside static stuff like the names of servlets.



- support different deployment models per environment. For example in one environment you may want to have the web server and EJB server on the same machine and in another environment you may want them located on 2 different
machines.


That is exactly the kind of stuff we can do in smartfrog. If you want to do the maven/maven2 plugin, I will help you test it.

-steve

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to