Wie kann maven verwendet werden, eine kontinuierliche integration situation zu installieren versionierten Artefakten im repository?

Wir sind in den Prozess der Umwandlung unserer Haupt-build-Prozess von ant auf maven. Wir verwenden TeamCity für unser Continuous Integration server (CI).

Wir gerne den CI-server kick-off (nächtliche) builds, deren version enthält eine build-Nummer, wie in 1.0.0.build#. Diese builds installiert werden würde, in unserem lokalen maven-repository für die Verwendung durch andere Projekte. Also der CI-server verwaltet die Versionen, maven baut das Projekt, und die maven-repository machen würde, das baut zugänglich zu anderen Projekten.

Ich soll zu initiieren, den Bau von den CI-server mit dem folgenden Befehl:

mvn -Dversion=1.0.0.25 install

Projekt-pom hätte eine falsche Versionsnummer, und das -D flag außer Kraft setzen, wie in:

<version>0.0.0.0</version>

Das problem mit dieser Methode ist, dass die maven install plugin verwendet nur die version in der pom-Datei, nicht die version, die übergeben auf der Kommandozeile. Dies ist bereits in das maven-Problem.

So, da dieses Problem existiert seit 08/2006 und hat nicht behoben wurden, gehe ich davon aus, dass dies irgendwie nicht 'die maven Weg'. Meine Frage ist also, wie kann man maven verwendet werden, eine kontinuierliche integration situation zu installieren versionierten Artefakten im repository?

Schreibe einen Kommentar