Hi Tony,

On 01/27/2012 04:38 PM, Carlucci, Tony wrote:
Hello,



We have been trying to determine the best way to build and deploy Rave based projects 
internally (in reality Maven 3 projects).   Our current software migration process 
requires us to build a "generic" artifact of any application (without any 
environment specific properties) that can be deployed to any of our environments (dev, 
qa, prod, etc).   The deploy process essentially retrieves the generic artifact and 
applies the environment specific settings (like urls to external resources, email 
addresses, LDAP urls, etc), and copies the environment-specific WAR to the appropriate 
server.



The majority of our applications are Ant based and we have a neat home-grown 
Task that performs string token substitutions of our files which contain 
placeholders for the environment specific values.  This lets us customize any 
file in our application (.properties, application-context.xml, web.xml, etc) 
during the deploy process.



Our question is:  how do we best do this for Maven 3 based projects?  We need to build 
the "generic" artifact (which gets stored in our Software Repository 
application) and then apply the environment specific properties at deploy time.  I know 
Maven supports profiles but these seem to be needed during the build/packaging phase, and 
would undoubtedly place an environment specific artifact in both the Maven repository and 
our internal artifact repository tool.   Is it better to externalize all environment 
specific properties outside of the WAR?
we (at Hippo) mostly use this approach: storing stuff outside of the WAR (albeit for different product). What we try to avoid is to many differences within appication-contex, web.xml etc. files and use properties as much as possible, actually, in most cases those files are identical for all environments.

A lot of the security issues is also solved by applying this (e.g. no user names nor passwords are stored on developers machines /svn/git etc).
I think Rave can pretty much be used this way.

cheers
marijan




This seems like a problem that has already been solved and we are hoping the 
Rave community would have some experience in this area.



Thanks, Tony






Reply via email to