Die Idee von Markus Lux lässt sich auch mit einer Maven2-Lösung, mit der Profilverwaltung, umsetzen:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
</plugin>
</plugins>
...
</build>
<profiles>
<profile>
<id>env-foo1</id>
<!-- Activated when -Denv=foo1 is given as parameter. -->
<activation>
<property>
<name>env</name>
<value>foo1</value>
</property>
</activation>
<properties>
<deploy.env>xxx</deploy.env>
<tomcat.manager>http://foo1/manager</tomcat.manager>
<tomcat.manager.username>foo</tomcat.manager.username>
<tomcat.manager.password>bar</tomcat.manager.password>
</properties>
</profile>
<profile>
<id>env-foo2</id>
<!-- Activated when -Denv=foo2 is given as parameter. -->
<activation>
<property>
<name>env</name>
<value>foo2</value>
</property>
</activation>
<properties>
<deploy.env>dev</deploy.env>
<tomcat.manager>http://foo2/manager</tomcat.manager>
<tomcat.manager.username>foo</tomcat.manager.username>
<tomcat.manager.password>bar</tomcat.manager.password>
</properties>
</profile>
...
</profiles>
Dann müssen Sie nur noch X-mal die mvn mit dem entsprechenden Parameter ( -Denv=foo1 , -Denv=foo2 ,...)
Darüber hinaus können Sie diese Lösung durch die Verwendung der Matrix-Funktion des Programms Hudson Server für kontinuierliche Integration. Ich habe eine kurze Erklärung zu dieser Funktion gegeben aquí .
Im Grunde definieren Sie einfach einen "normalen" Maven2-Job in Hudson, und mit der Matrix-Funktion können Sie Hudson bitten, diesen Job mehrmals auszuführen, einen pro Umgebung. Mit anderen Worten, Sie erstellen Ihren Hudson-Job und definieren dann die "Umgebungsachse" mit allen möglichen Werten für die env Parameter:
Hudson erstellt dann die Anwendung mit dem mvn Befehl und mit dem Parameter -Denv=foo1 Sobald dieser Build abgeschlossen ist, wird die gleiche Anwendung erstellt, jedoch mit dem Parameter -Denv=foo2 und so weiter...
Auf diese Weise wird Hudson Ihre Anwendung in jeder Umgebung einsetzen...
Ich hoffe, meine Lösung wird Ihnen helfen, Ihre Ziele zu erreichen...