Manueller Release-Prozess: Version in pom.xml ändern, committen, bauen, nach Nexus hochladen, Version auf den nächsten SNAPSHOT ändern, committen. Fünf Schritte, bei denen jeder fehlschlagen kann. Das Maven Release Plugin automatisiert das auf einen einzigen Befehl.
Wie es funktioniert¶
mvn release:prepare — ändert die Version von 2.1-SNAPSHOT auf 2.1.0, committet, erstellt einen Tag, ändert die Version auf 2.2-SNAPSHOT, committet. mvn release:perform — checkt den Tag aus, baut und deployt nach Nexus. Automatisch, wiederholbar, ohne menschliche Fehler.
Nexus Staging¶
Release-Artefakte gehen in ein Nexus-Staging-Repository. Nach der Verifizierung (QA-Test) werden sie in das Releases-Repository befördert. Wenn QA fehlschlägt, wird das Staging verworfen — die Produktion bleibt unbeeinflusst.
Probleme in der Praxis¶
SCM-Zugriff — das Release Plugin benötigt Schreibzugriff auf Git (SSH-Schlüssel auf dem Jenkins-Server). SNAPSHOT-Abhängigkeiten — das Release Plugin verweigert das Release eines Projekts mit SNAPSHOT-Abhängigkeiten. Multi-Modul-Projekte — alle Module auf einmal releasen oder einzeln? Unsere Wahl: alle auf einmal.
Versionierungskonventionen¶
Semantic Versioning: MAJOR.MINOR.PATCH. Major für Breaking Changes, Minor für neue Features, Patch für Bugfixes. SNAPSHOT für Entwicklungsversionen.
Fazit¶
Das Maven Release Plugin spart Zeit und eliminiert Fehler. Die Investition in die richtige Konfiguration (SCM, Nexus Staging) zahlt sich bei jedem Release aus.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns