Foros de discusión

configuration portlet - environnement

mickael bruna, modificado hace 8 años.

configuration portlet - environnement

Junior Member Mensajes: 66 Fecha de incorporación: 14/10/13 Mensajes recientes
Bonjour,

actuellement, mes portlets contiennent la configuration de connexion à une base de donnée MySQL dans un fichier hibernate.cfg.xml. Lorsque je dois livrer ma portlet, je dois commenter et décommenter le paramétrage pour activer celui correspondant à l'environnement sur lequel je deploie.

Je cherche à m'oter ce point. Mon idée serait d'avoir le fichier "hibernate.cfg.xml" contenant les paramétrages commun à tout les environnements et qui inclurait un fichier pour les paramètres spécifiques aux environnements. Ce fichier inclue contiendrait dans son nom l'environnement cible et c'est l'environnement qui donnerait le paramètre pour charger le bon fichier.

J'aurais par exemple les fichiers suivant :
- hibernate.cfg.xml => qui contiendrait quelque chose comme "include hibernate.cfg.{env}.xml"
- hibernate.cfg.prod.xml => qui contiendrait le paramétrage de prod.
- hibernate.cfg.preprod.xml => qui contiendrait le paramétrage de preprod.
- hibernate.cfg.dev.xml => qui contiendrait le paramétrage de dev.

J'aurais donc un build identique pour tout mes environnements. Et dans la JVM lançant mon liferay ou dans mon liferay, je pourrais avoir un paramètre "env" qui indiquerait le fichier de paramétrage à utiliser.

En revanche, je ne vois pas comment mettre ca en place.
Connaissez-vous les bonnes pratiques quant au paramétrage de ce type? Est ce que je suis sur la bonne voie?
Comment mettre ca en place?

Merci d'avance,
Mickael Bruna
mickael bruna, modificado hace 8 años.

RE: configuration portlet - environnement

Junior Member Mensajes: 66 Fecha de incorporación: 14/10/13 Mensajes recientes
Je suis vraiment le seul à avoir ce genre de problème?
:-)
Olivier Bonnet-Torrès, modificado hace 8 años.

RE: configuration portlet - environnement

Regular Member Mensajes: 162 Fecha de incorporación: 11/07/08 Mensajes recientes
Bonjour Mickaël,

Ce genre de problème est assez fréquent, dans l'univers DevOps...

Pour ma part, je ne laisserais pas Liferay gérer ce mécanisme, ni la JVM d'ailleurs.
Je recommande qu'il soit traité au niveau de la compilation/du build.
Pour cela, tu laisses le fichier hibernate.cfg.xml tel quel, mais tu remplaces les paramètres variables par des placeholders.
Tu crées un fichier txt par environnement (e.g. dev.hibernate.properties, prd.hibernate.properties) et tu le provisionnes via l'outil de build...

Olivier
thumbnail
Richard Sinelle, modificado hace 8 años.

R: configuration portlet - environnement

New Member Mensajes: 7 Fecha de incorporación: 25/05/12 Mensajes recientes
Bonjour, j'irai plus loin en définissant une datasource au niveau du serveur d'application et comme cela vous n'aurez pas à vous souciez de la connexion. Il faut juste que la datasource est le même nom sur les différents environnement.
Richard

Sent from my iPhone with Liferay.com Forums