2016-05-17 18 views
1

Ich arbeite mit einer Anwendung, bei der serverspezifische Attribute in einer Datei .properties definiert sind. Die gebündelte Anwendung wird regelmäßig auf verschiedenen Entwicklungs-, UAT- und Produktionsservern bereitgestellt. Vor jeder Bereitstellung muss die gebündelte Eigenschaftendatei jedoch manuell geändert werden, damit sie dem Server entspricht, auf dem sie bereitgestellt wird.Angeben von Bereitstellungsumgebungen

Gibt es eine standardisierte oder automatisierte Methode zur Parametrisierung des Servers, auf dem ich den Server installiere? in Jenkins kann ich etwas wie "mvn package UAT" angeben und es wird automatisch meine .properties-Datei aktualisieren?

Jeder Eingang ist dankbar, danke!

Antwort

2

Der einfachste Weg, dies zu tun, ist mit Maven Profilnamen. Erstellen Sie speziell eine Profileigenschaftendatei in Ihrem Projekt, und wenden Sie diese Datei als einen Filter an, der den Profilname und einige Ersetzung verwendet.

Es ist in zwei Teile geteilt, die Profildefinition:

<profiles> 
    <profile> 
     <id>test</id> 
     <properties> 
     <profileName>test</profileName> 
     </properties> 
    </profile> 
    <profile> 
     <id>dev</id> 
     <properties> 
     <profileName>dev</profileName> 
     </properties> 
    </profile> 
    <profile> 
     <id>uat</id> 
     <properties> 
     <profileName>uat</profileName> 
     </properties> 
    </profile> 
    <profile> 
     <id>preprod</id> 
     <properties> 
     <profileName>preprod</profileName> 
     </properties> 
    </profile> 
    <profile> 
     <id>prod</id> 
     <properties> 
     <profileName>prod</profileName> 
     </properties> 
    </profile> 
</profiles> 

Und die Filterdefinition:

<build> 
    <filters> 
     <filter>src/main/filters/${profileName}.properties</filter> 
    </filters> 
    </build> 

Darüber hinaus stellen Sie sicher, dass die Ressource-Dateien, um die Ersetzungen werden gefiltert durch die die ausgeführt werden sollen Maven Ressourcen-Plugin.

Dann bist du hast:

  • UAT.properties
  • Production.properties
  • usw.

Anschließend können Sie bauen durch das Maven Profilnamen verwenden:

mvn package -PUAT 
+0

Das sieht nach dem Weg aus. Vielen Dank! –