Continuous Delivery mit Maven und SemVer - geht das?

Für das Releasen von Java-basierten Artefakten (JARs/WARs/...), die mit Maven oder Gradle gebaut werden, hat sich die Verwendung von Semantik Versioning (SemVer) weitgehend durchgesetzt. Typischerweise wird ein Release gebaut, wenn die Software eine gewisse Reife erreicht hat.

Continuous Delivery setzt jedoch auf das regelmäßige Ausliefern von Software, im Idealfall führt jede Änderung (Commit) zu einem Artefakt, das bis in produktive Systeme ausgerollt wird. Das Multi-Module-Maven-Release-Plugin (auch Releaser-Plugin genannt) kombiniert die Verwendung der Major-/Minor-Versionen von SemVer mit einer Build-Nummer statt der Patch-Version. So kann einerseits immer noch eine Schnittstellen-/Kompatibilitäts-Semantik in der Versionsnummer verankert werden, die Artefakte können aber auch kontinuierlich und unterscheidbar ausgeliefert werden. Der Vortrag stellt das Konzept an Hand einer Open Source-Software vor, die damit gebaut und geliefert wird und diskutiert eine dabei entstandene Erweiterungen des Moduls, nämlich die mögliche Definition von Abhängigkeiten als Snapshots und Verwendung von deren jeweils aktueller Version beim automatischen Releasen.

Länge: kurz

Sponsoren

Ebay Tech
idealo
techdev Solutions
zalando
akquinet
codecentric
MoSKito Monitoring
pro!vision
NumberFour AG
Das Büro am Draht
Publicis Pixelpark
innoQ
adesso
MeteoGroup
tarent solutions



Partner

Java User Group Berlin Brandenburg
iJUG
zaunfilm
Rhino’s Energy
Sigs Dataom
Hanser
O'Reilly
dpunkt.verlag
rheinwerk