Ich habe in den letzten Jahren mehrere Grails-Anwendungen entwickelt. Ich stelle zunehmend fest, dass die drei Grails-Umgebungen (Entwicklung, Test, Prod) nicht ausreichen, um meine Bedürfnisse zu befriedigen. Je "Enterprise" Ihre Anwendung bekommt, desto mehr Umgebungen haben Sie.
Ich neige dazu, 6 Umgebungen für meinen Entwicklungszyklus zu verwenden ...
DEVA // Mein Entwickler
DEVB // Team mates dev
CI_TEST // CI wie Hudson
QA_TEST // Testen der Teamumgebung
UAT_TEST // Testumgebung für Kunden
PROD // Produktion
Ich frage mich, ob es eine Möglichkeit gibt, benutzerdefinierte Grails-Umgebungen zu definieren? Ich denke nicht, dass es da ist, aber die Funktion könnte nützlich sein.
Die Art und Weise, wie ich das jetzt umgehe, geschieht durch die Externalisierung der Konfiguration in eine Eigenschaftendatei.
Ich stelle mir vor, dass dies eine ziemlich häufige Anforderung ist. Wie haben Sie sich also mit Ihren Umgebungen beschäftigt?
Sowohl Config.groovy als auch DataSource.groovy unterstützen benutzerdefinierte Umgebungen (ich bin ziemlich sicher, dass die meisten anderen Konfigurationsdateien dies auch tun).
Wenn Sie Ihre App starten oder für ein benutzerdefiniertes env verpacken möchten, verwenden Sie
%Vor%Dann hätten Sie in Config
%Vor%Ich konnte im Benutzerhandbuch keine Seite finden, aber wir verwenden sie so, um die Einstellungen für die Beta- und die uat-Umgebung zu haben.
Eine Option könnte darin bestehen, eine DataSource in DataSource.groovy für jede Ihrer Umgebungen zu definieren und dann Konfigurationsinformationen in der Datenbank zu speichern.
Sie können dann Code in BootStrap.groovy hinzufügen, um Ihre Konfigurationen zu laden.