2012-10-31 4 views
8

Derzeit haben meine Java-Anwendungen auf jedem Build dieselbe Version. Ich verwende Maven, aber ich bin mir nicht sicher, wie ich den Workflow einrichten soll, um bei jedem Build eine Version zur Anwendung hinzuzufügen.Wie kann ich eine Java-Anwendung zwischen Builds versionieren?

Ich kann mir vorstellen, dass dies mit meinem Versionskontrollsystem funktioniert? Ich benutze Git, bedeutet das, ich brauche Git-Tags?

Danke für alle Einsichten, ich weiß, es ist eine große Frage, aber ich bin mir nicht sicher, wo ich anfangen soll.

+1

Eine Java-Anwendung hat keine inhärente Versionsbegriff. Woher kommt die Version - die sich derzeit nicht ändert? –

+1

Es gibt wahrscheinlich eine Eigenschaft oder eine Manifestdatei, die Sie während des Builds aktualisieren müssen. – Thilo

+0

In Verbindung stehende http://stackoverflow.com/questions/690419/build-and-version-numbering-for-java-projects-ant-cvs-hudson – andersoj

Antwort

6

Sie beginnen, indem Sie Ihre Version zum Beispiel auf 1-SNAPSHOT setzen.

Dann verwenden Sie das Maven-Release-Plugin, um früh und oft zu veröffentlichen.

In der Zwischenzeit erhält jeder Snapshot einen eindeutigen Zeitstempel.

Wenn Sie eine Version anwenden möchten, die nicht die offizielle Maven-Version ist, lesen Sie das Build-Number-Maven-Plugin.

3

Ich benutze dieses Maven Plugin:

https://github.com/ktoso/maven-git-commit-id-plugin

und bekommen es für mich eine git.properties-Datei zu erzeugen. Dazu gehören die Commit-ID, Kommentare usw.

Von dort können Sie tun, was auch immer Sie möchten. Ich habe eine Eigenschaftsseite in meiner Webapp, die einfach über alles in git.properties iteriert. Funktioniert bei mir.

0

Sie können maven POM-Datei verwenden, um Versionen zu definieren. Here ist eine Erklärung.

Sie können auch Versionen mit this aktualisieren.

Verwandte Themen