Versionierungskontrolle
Diese Seite ist ein Teil der IsyFact-Standards. Alle Inhalte der Seite, insbesondere Texte und Grafiken, sind urheberrechtlich geschützt. Alle urheberrechtlichen Nutzungs- und Verwertungsrechte liegen beim Bundesverwaltungsamt.
Die Nutzung ist unter den Lizenzbedingungen der Creative Commons Namensnennung 4.0 International gestattet.
1. IsyFact Maven-Plugin zur Versionierungskontrolle
Zur Sicherstellung einer validen Versionierung der Anwendung wird das Maven-Plugin isy-versioning-maven-plugin eingesetzt. Die Einbindung des Maven-Plugin ist unter Einbindung und Konfiguration in der Anwendung erläutert.
1.1. Funktionsweise
Das Maven-Plugin prüft beim Build-Vorgang, ob die angegebene Version den Versionierungsvorgaben in IsyFact Versionierung entspricht. Die Versionsangabe wird in der Lifecycle-Phase "validate" geprüft. Dies ist im Default-Lifecycle der erste Schritt.
Die Versionierung ist abhängig von der Art der Komponente. Aus diesem Grund wird bei der Validierung zwischen Geschäftsanwendungen und Schnittstellen unterschieden. Dabei wird zunächst von jeder Komponente angenommen, es verfolgt die Versionierungsrichtlinien von Geschäftsanwendungen. Konnten diese nicht nachgewiesen werden, wird automatisch geprüft, ob die Kriterien einer Schnittstellen-Version auf die Versionsnummer zutreffen.
Anwendungen
Die Versionskontrolle der Geschäftsanwendungen und Register findet über reguläre Ausdrücke statt. Dabei wird zwischen zwei Szenarien unterschieden:
Release-Version: Eine stabile Version, welche zum Produktiv-Einsatz gedacht ist.
Dort sind nur die Komponenten <major>.<minor>.<patch>
erlaubt.
Test-Version: Eine Version, welche für eine Testumgebung gedacht ist.
Die Stabilität dieser Version ist nicht sichergestellt.
Dort sieht der Aufbau wie folgt aus: <major>.<minor>.<patch>[-<label>][+<buildmetadaten>]
Die Art des Szenarios, das für die zu kompilierende Anwendung genutzt werden soll, kann in der Anwendung selbst definiert werden (s. Einbindung und Konfiguration in der Anwendung).
Schnittstellen
Schnittstellen enthalten die <major>.<minor>
-Version bereits in ihrer Modul-Bezeichnung.
Aus diesem Grund enthält die Schnittstelle nur noch die <patch>
-Version als Versionsnummer.
Bei Test-Versionen wird die Version noch um ein Label erweitert (<patch>[-<label>]
).
1.2. Einbindung und Konfiguration in der Anwendung
Schritt 1: Einbindung des Maven-Plugin in ein Projekt
Das Maven-Plugin muss zunächst in eine übergeordnete pom.xml
(parent-pom) wie folgt eingebunden werden:
...
<plugin>
<groupId>de.bund.bva.isyfact</groupId>
<artifactId>isy-versioning-maven-plugin</artifactId>
<version>1.0.0-RC1</version>
<executions>
<execution>
<id>validateVersion</id>
<phase>validate</phase>
<goals>
<goal>validateVersion</goal>
</goals>
</execution>
</executions>
</plugin>
...
Schritt 2: Konfiguration des Maven-Plugin in einem Projekt
Im Projekt selbst kann das Maven-Plugin konfiguriert werden. Dazu sind folgende Properties in die pom.xml
des Projekts zu hinterlegen:
<properties>
<!-- Schalter zum Deaktivieren des Plugins. -->
<VersionValidatorEnabled>true/false</VersionValidatorEnabled>
<!-- Erlaubt das Ausschließen von Test-Versionen. -->
<VersionValidatorRelease>true/false</VersionValidatorRelease>
</properties>
Über die Verwendung der Konfigurationsparamater VersionValidatorEnabled
und VersionValidatorRelease
kann das Maven-Plugin gesteuert werden.
Konfigurationsparameter | Beschreibung | Beispiel |
---|---|---|
|
Definiert, ob das Plugin verwendet ( |
|
|
Definiert, ob das Szenario ein Release ( |
|
Zusätzlich kann mittels der Maven-Konsole die Konfigurationsparameter mit einem vorgelagerten -D
an das Maven-Plugin übergeben werden, um während des Build-Prozess Einfluss auf das Plugin-Verhalten zu erwirken.
-DVersionValidatorEnabled=true/false
-DVersionValidatorRelease=true/false