Hi Gil,

Some afterthought questions with the proposed change:
1) Can it support multiple OFBiz instances on the same server? 
2) Can we store encrypted values for some of the environment variables like 
database credentials?

Regards,
James Yong

On 2017-07-06 16:28 (+0800), "James Yong"<jamesy...@apache.org> wrote: 
> Hi Gil and all,
> 
> Faced the same issues before. 
> 
> I had different environments like SIT, UAT and PROD requiring different 
> settings. 
> There was also specific requirements to remove the source folders and zip the 
> final files for deployment.
> 
> So I created a folder which has subfolders named after each different 
> environment and contains the respective environment-specific properties e.g.
> - deployment
>     - SIT
>         - db.properties
>         ...
>     - UAT
>         - db.properties
>         ...
> 
> Also created a set of template files that contained placeholders to be 
> replaced during deployment
> - templates
>     - entity-engine.xml
>     ...
> 
> Finally there is a custom Ant target for deployment to each environment that 
> will:
> 1) build OFBiz and copy the required files (leaving out the source folders) 
> into a build folder; 
> 2) read the template files and replace the placeholders with the right 
> environment properties before copy to the correct location in the build 
> folder; and
> 3) zip the contents of the build folder and append a timestamp.
> 
> Having said all these, your approach is convention over configuration, and 
> keeps the environment properties separate from the OFBiz folder. So 
> +1 
> from me.
> 
> Regards,
> James Yong
> 
> On 2017-07-05 23:36 (+0800), gil portenseigne <gil.portensei...@nereide.fr> 
> wrote: 
> > Hello all,
> > 
> > Working with different hosting companies, we used to have issues when 
> > deploying OFBiz concerning technical configuration of the different 
> > environments.
> > We are writing this mail to get feedback from the community and 
> > eventually propose to improve OFBiz on this matter.
> > 
> > For a customer, we are working with 4 instances of a release 13.07 
> > OFBiz, and are currently using a set of patches (with addonmanager...) 
> > to manage environment specific configurations.
> > During each production deployment, the hosting company receive from our 
> > jenkins a precompiled archive containing OFBiz codebase, and then apply 
> > the set of patches to configure it to the environment needs, recompile 
> > and relaunch...
> > 
> > This way of doing can cause issue when patch could not apply, after a 
> > codebase modification (pretty rare but it happens).
> > 
> > We are not satisfied with this way of doing, we are currently thinking 
> > about using environment variables to configure technical environment 
> > properties (those are on the hosting company responsibility), and to 
> > keep functional specifics into the code base.
> > If you have some experience or advice in this matter, you are welcome.
> > 
> > For our case, we currently have enhanced OFBiz to be able to get 
> > environment variable from the operating system within property file and 
> > some other configuration files (with default value if not set).
> > 
> > Examples :
> > *In Property file :
> > password=${env:ONE_CONF:ofbiz} -> environment variable ONE_CONF or ofbiz 
> > if unset
> > other_config=${env:OTHER_CONF:${partyId}} -> environment variable 
> > OTHER_CONF or ${partyId} if unset
> > *In entityengine.xml :
> > jdbc-uri="${env:DB_POSTGRES_URI:jdbc:mysql://127.0.0.1/ofbiz?autoReconnect=true}"
> > jdbc-username="${env:DB_POSTGRES_USER:ofbiz}"
> > jdbc-password="${env:DB_POSTGRES_PWD:ofbiz}"/>
> > 
> > That allow us to keep functional parameters stored within git branches. 
> > Our jenkins now is able to build our 4 configured and compiled instances 
> > and deliver it to the hosting company, that just have to set/check 
> > environment variable (database access, activeMQ, log location, instance 
> > id, etc.) before starting OFBiz app. Now we cannot have configuration 
> > failure during deployment.
> > 
> > We will be glad to contribute it, if it's the good way to go !
> > 
> > Best Regards !
> > 
> > Gil Portenseigne
> > 
> 

Reply via email to