Ich versuche einen Jenkins-Job für die Freigabe eines Java-Projekts mit dem Maven-Release-Plugin zu konfigurieren.
Ich möchte sicherstellen, dass die Major-Version, die ich verwende, um ein Release als inkompatibel mit einer früheren Major-Version zu markieren, sich ändert, wenn das aktuelle Release nicht mit dem vorherigen Release kompatibel ist.Jenkins: Automatische Versionsprüfung von Maven-Release mit Unit-Tests
Ein Beispiel:
Die letzte Veröffentlichung war Version 1.9.5 die Foo namens eine Klasse enthalten ist.
In der aktuellen Version wurde diese Klasse entfernt.
Der Benutzer gibt als aktuelle Release-Version 1.9.6 an und startet den Jenkins-Job. Der Release sollte dem Benutzer sagen, dass die aktuelle Hauptversion nicht sein wird erwartet, da die API unvereinbar geworden ist.
Ich dachte an die Unit-Tests der vorherigen Version, um den Code der aktuellen Version zu testen. Wenn eine API inkompatibel ist, sollten die Unit-Tests der vorherigen Version während des Kompilierens oder Tests fehlschlagen (vorausgesetzt, es gibt einen Unit-Test für diesen Code).
Mein Ansatz würde erfordern, Tests in einem separaten Projekt zu behalten und zwei Versionen aus meinem VCS zu überprüfen.
Kennen Sie ein Jenkins-Plugin, das Ihnen dabei helfen könnte oder haben Sie eine andere Idee, wie Sie überprüfen können, ob die API zwischen zwei Hauptversionen inkompatibel ist?
Klingt gut. Ich werde es am Wochenende versuchen. –