4.  Releasemanagement

4.1 Erzeugen und Verteilen
4.2 Erzeugen eines Releases

4.1.  Erzeugen und Verteilen

Das Erzeugen und Verteilen eines Projektes kann/ist in den Lifecyclephasen verankert. Folgende Lifecycleaufrufe unterstützen bei der Verteilung des Projekts:

4.2.  Erzeugen eines Releases

Wenn Projekte in einer aktiven Entwicklungsumgebung entworfen und umgesetzt werden kommt es häufig vor, dass man auf Schnappschüssen des aktuellen Projekts arbeitet. Schnappschussversionen sind im POM durch den String ”SNAPSHOT” gekennzeichnet. Um ein aktuelles Release des Projekts zu erzeugen, kann das Release-Plugin von Maven verwendet werden. Durch Konfiguration des Versionskontrollsystems im POM wird dem Release-Plugin mitgeteilt, wo die aktuellen Sourcen des Projekts liegen.

 
1<scm> 
2        <connection>scm:svn:https://svnrepository</connection> 
3        <developerConnection>scm:svn:https://svnrepository</developerConnection> 
4        <url>https://svnrepository</url> 
5</scm>

Durch den Aufruf von mvn release:prepare wird zunächst sichergestellt, ob die aktuelle Version des Projekts bereits eingecheckt wurde. Ist dies nicht der Fall, bricht Maven den Vorgang ab. Handelt es sich um ein gültiges Release, wird die Schnappschussversion in eine Release Version überführt. Die Angaben im POM zum VCM werden auf das aktuelle Release Verzeichnis gesetzt. Es werden alle Tests für das Projekt aufgerufen um sicherzugehen, dass das Projekt arbeitet. Die Änderungen am POM werden commited. Ein neuer Tag im VCM wird für das Release erstellt. Eine neue Schnappschussversion wird gesetzt und ein neues POM wird angelegt. Durch Interaktion mit dem Benutzer werden TAGS die im VCM gesetzt werden sollen, die Release Version und die neue Schnappschussversion abgefagt.

Mit dem Aufruf von release:perform wird das aktuelle Release aus dem VCM bezogen, dann erzeugt und letztlich im lokalen und/oder konfigurierten externen Repository veröffentlicht und deployed.