Easy Version Control im Blog der J&J Ideenschmiede

von

Einfache Versionierung


Jeder Entwickler wird sich früher order später mit der Versionierung seiner Lösungen beschäftigen müssen. Dabei gibt es mehrere Ansätze und wir möchten Ihnen heute Semantic Versioning & Conventional Commits vorstellen.

Wir haben uns vor einiger Zeit mit diesem Thema genauer beschäftigt und einige Workarounds direkt in unserern Arbeitsalltag übernommen.

Conventinal Commits

Ist eine Spezifikation für menschlich und maschinell lesbare Commit-Nachrichten und soll somit bei dem Versionieren Hilfestellung leisten. Dabei enthält sie einfache Regeln zum Erstellen einer Commit Historie, die es dem Entwickler einfacher einsehbar macht, warum sich die Versionsnummer geändert haben.

Dabei sind Commit Nachrichten immer wie folgt aufgebaut:

<Typ>[optionaler Gültigkeitsbereich]: <Beschreibung>
[optionaler Textkörper]
[optionale Fußnoten

Es gibt verschiedenen Strukturelemente, die es dem Benutzer leichter machen, die Absichten mitzuteilen. Eine Auflistung aller Strukturelemente und eine Beschreibung finden Sie hier.

Generell finden wir diesen Leitfaden, den die Conventinal Commits geben sehr einfach, damit man seine Versionsnummern den Anpassungen gerecht anpassen kann und eine einfache Lösung parat hat.

Sementic Versioning

Oder auch SemVer genannt ist eine Definition, wie Versionen aufgebaut werden sollten. Grundlegend geht es um die Verschiedenen Elemente einer Versionsnummer und wann diese erhöht werden. Gerade dieser Punkt spielt ebenfalls bei den Conventinal Commits eine wichtige Rolle.

Generell ist eine Version wie folge aufgebaut 2.23.5 dabei besteht diese aus drei essenziellen Blöcken.

  1. Major wird erhöht, wenn inkompatible Änderungen veröffentlicht werden
  2. Minor wird erhöht, wenn neue Funtinalitäten, welche kompatibel zur bisherigen Version sind
  3. Patch wird erhöht, wenn die Änderungen ausschließlich kompatible Bugfixes umfasst

Mit diesen Punken haben Sie schon einen genauen Überblick, wofür Sementic Versioning genutzt wird.

Alles rund um das Thema finden Sie direkt hier auf der SemVer Website.

Fazit

Generell nutzen wir sowohl die Conventinal Commits und auch Sementic Versioning, aber in etwas abgeänderter Form in Produktivbetrieb und sind damit auch sehr zufrieden. Damit wir unsere Versionsnummer korrekt vergleichen können, habe ich ein kleines CLI Tool geschrieben, welches Sie hier finden. Zu diesem Tool wird aber noch ein separater Blogpost kommen.

Pfeil links

zur vorherigen Seite zurückkehren