Optimierung: Konsistente Versionierung zwischen POM, App-Version und Jenkins-Build #67
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Die Versionierung ist aktuell inkonsistent und manuell:
0.0.1-SNAPSHOTalsproject.version2.5.0) ist manuell hardcoded inpdf-umbenenner-packaging/pom.xmlalsapp.version3.0.0) muss manuell vom Entwickler angepasst werdenZiel
Eine saubere, wartungsarme Lösung, bei der:
3.0.0) einmal gepflegt wird3.0.0.42)Optionen (zur Entscheidung)
${revision}als Property im Parent-POM; Jenkins übergibt-Drevision=3.0.0mvn versions:set -DnewVersion=3.0.0als Jenkins-Step vor dem BuildEmpfehlung: Maven CI-friendly Versioning (
${revision}) – minimaler Eingriff, kein Plugin-Overhead.Auswirkungen
pdf-umbenenner-packaging:app.versionkann durch${revision}ersetzt werdenImplementation-Versionautomatisch befüllen → Statuszeile kann Version viagetClass().getPackage().getImplementationVersion()auslesenpdf-umbenenner-bootstrap: Startlog kann korrekte Version ausgebenAbhängigkeiten
Umgesetzt in V3.0: Maven CI-friendly Versioning mit ${revision} eingeführt, flatten-maven-plugin konfiguriert (resolveCiFriendliesOnly + flatten.clean), MANIFEST.MF trägt Implementation-Version, Fallback "dev" implementiert, app.version im Packaging-Modul auf ${revision} umgestellt. Build grün, Commit
c6379c0.