2017-01-18 3 views
0

Dans Grails 3, je souhaite utiliser un fichier application.yml avec des blocs spécifiques à l'environnement (http://docs.grails.org/latest/guide/conf.html#environments). Nous avons une configuration générique/racine, et pour chaque environnement, nous voulons surcharger certaines propriétés. Dans le monde de démarrage de Spring, nous aurions par exemple un fichier application.properties et un fichier application-test.properties. Spring Boot chargerait les fichiers de telle sorte que les valeurs spécifiques à l'environnement l'emportent sur les valeurs générales, en fonction de l'ordre de chargement (voir https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html). Mais quand j'essaie dans une application Grails, l'ordre semble être "si elle est définie dans la racine yml, ne pensez même pas à la chercher dans le bloc d'environnement". Je voudrais vraiment éviter de copier environ 50 propriétés de root dans tous nos 6 blocs d'environnement. Aucune idée sur la façon de résoudre ça?Comment est-ce que je fais Grails application.yml utiliser des entrées spécifiques d'environnements s'ils sont déjà définis dans la racine yml?

Répondre

1

Vous pouvez utiliser des fichiers yml spécifiques à l'environnement, par ex.

grails-app/ 
    conf/ 
     application.yml 
     application-development.yml 
     application-production.yml 
+0

avez-vous essayé cela avec une variable définie dans les deux fichiers yml, sous Grails 3.1? Quand j'essayais, il semblait ignorer le yml spécifique. – Kai