Buildmanagement

MS-Tech

Erfahrenes Mitglied
Hallo Zusammen,

momentan baue ich meine Software mit verschiedenen Ant-Skripten. Ich habe ein Skript für eine Snapshot-Version, eins für eine Release-Version und eins für eine Patch-Version. Da dies auf Dauer irgendwie anstrengend ist, würde ich mir gerne Build-Management-Tools ansehen, die nicht so überfrachtet mit zig Funktionen sind. Kennt jemand von euch ein gutes Tool und vielleicht auch ein gutes Tutorial dazu? Es wäre auch eine Überlegung wert im Zuge der Einführung eines Build-Management-Tolls ein Dependency-Management-Tool wie Maven einzusetzen, d.h. die beiden müssten in irgend einer Art und Weise zusammen funktionieren.

Wie baut ihr eure Anwendungen und liefert diese dann aus? Wie gewährleistet ihr, dass die Versionsnummern oder Patchnummern korrekt hochgezählt werden, damit ggf. Updates auf der Datenbank ausgeführt werden können etc.?

Viele Grüße
Sascha
 
Hallo,

ich würde dir die Kombination von Jenkins + Maven empfehlen. Die beiden Tools lassen sich jeweils relativ leicht konfigurieren. Für deine Wünsche wie Versionsnummern Generierung gibt es AFAIK sowohl für Maven als auch für Jenkins entsprechende Plugins bzw. lässt sich auch schon viel mit entsprechenden Build-Variablen und Namens Templates realisieren.

Wie baut ihr eure Anwendungen und liefert diese dann aus? Wie gewährleistet ihr, dass die Versionsnummern oder Patchnummern korrekt hochgezählt werden, damit ggf. Updates auf der Datenbank ausgeführt werden können etc.?
Jenkins / Maven kümmern sich darum, dass die erzeugten Artefakte mit entsprechenden Versionsnummern und Manifest Dateien ausgestattet sind.

Btw.: Zum Thema Versionsnummern Semantik finde ich den Ansatz von semver: http://semver.org/
ziemlich gut.

Gruß Tom
 
Hi Tom,

danke für deine Antwort. Ich werd mir das mal zu Gemüte führen.

Ich habe selber eine Semantik, was Versionisierung betrifft.

Ich hab auch, wie in dienem Beispiel 3 verschiedene Versionsnummer. Die erste beschreibt die Programmversion bzw. den Programmstand an sich. Die zweite Versionsnummer beschreibt den Stand des Datenmodells bzw. der installierten Datenupdates. Die dritte Nummer beschreibt eine Patchnummer bzw. eine Updatenummer der Datenupdates.

In meiner Anwendung können Daten, durch einen Online-Updatemechanismus, installiert werden. Diese Datenupdates müssen aber zum Datenmodell der Anwendung passen, z.B. wurde das Datenmodell um eine Variable erweitert oder wurde eine Variable gelöscht, so dürfen nicht alle Datenupdates installiert werden.

Aus diesem Umstand heraus, habe ich mir meine eigene Versionisierungsemantik gebastelt, die aber der, deines Beispieles ähnlich ist.

Viele Grüße
Sascha
 
Zurück