简体   繁体   中英

WSO2 ESB (or EI) Best practice for managing environment specific variables

In some of my application I have to manage environment specific attributes / variables like: - folder path - rest api urls - credentials - ...

At the moment I'm manually setting variables in the configuration registry of each server. This is quite heavy when you've to deploy a new server because you've to recreate everything manually (I haven't find a way to initialize the repository from an xml file for instance)

I've seen different approaches like - writing different version of the endpoints, sequences,... and create different car for distribution on each environment - Using local registry with different entries - Using governance registry (I've no experience with this)

What is according to you the best approach for this? Thanks for helping

You can find the best practices guide for WSO2 Enterprise Integrator (ESB, DSS, BPS and MB) at [1]. It also explains how to manage environment specific variables.

[1] https://docs.wso2.com/display/EI611/WSO2+Enterprise+Integrator+Best+Practices

Finally what I've done (and what is working since some weeks now) is for each of my project :

  • Create a "master" maven project that will contain:

    • An ESB project
    • One registry project per environment that contains all environment dependant variables (like hosts, passwords, paths, ...)
    • One Composite Application project per environment that will package the ESB project with the correct registry values (Note that if you deploy everything in the ESB event the registry project must be considered as a "EnterpriseServiceBus" Role)

Next step will be to integrate everything in jenkins and automatize the building of car with maven.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM