Automatisiertes Deployment mit Maven
Während der Projektentwicklung umfasst der Deployment-Prozess die folgenden Schritte:
- Committen Sie den gesamten Projektcode in SVN oder ein Code-Repository und taggen Sie ihn.
- Laden Sie den vollständigen Quellcode von SVN herunter.
- Erstellen Sie die Anwendung.
- Speichern Sie die erstellten WAR- oder EAR-Dateien an einem gemeinsamen Netzwerkspeicherort.
- Rufen Sie die Dateien aus dem Netzwerk ab und stellen Sie sie in der Produktionsumgebung bereit.
- Aktualisieren Sie die Dokumentation und aktualisieren Sie die Versionsnummer der Anwendung.
Problembeschreibung
Normalerweise umfasst der oben genannte Entwicklungsprozess mehrere Teams. Ein Team kann für das Committen von Code verantwortlich sein, ein anderes für das Erstellen usw. Es ist sehr wahrscheinlich, dass jeder Schritt aufgrund der manuellen Vorgänge und der beteiligten Multi-Team-Umgebung fehlschlagen kann. Zum Beispiel wird eine ältere Version auf dem Netzwerkrechner nicht aktualisiert, und dann stellt das Deployment-Team eine frühere Build-Version erneut bereit.
Lösung
Erzielen Sie eine automatisierte Bereitstellung durch die Kombination der folgenden Ansätze:
- Verwenden Sie Maven, um Projekte zu bauen und zu veröffentlichen.
- Verwenden Sie SubVersion, das Quellcode-Repository, um den Quellcode zu verwalten.
- Verwenden Sie Remote-Repository-Management-Software (Jfrog oder Nexus), um binäre Projektdateien zu verwalten.
Ändern Sie die pom.xml des Projekts.
Wir werden das Maven Release Plugin verwenden, um einen automatisierten Release-Prozess zu erstellen.
Beispielsweise sieht die pom.xml-Datei für das Projekt bus-core-api wie folgt aus:
Einige wichtige Elementknoten, die häufig in der pom.xml-Datei verwendet werden, sind in der folgenden Tabelle aufgeführt:
| Elementknoten | Beschreibung |
|---|---|
| SCM | Konfigurieren Sie den SVN-Pfad, von dem Maven den Code abruft. |
| repository | Der Speicherort der erstellten WAR-, EAR- oder JAR-Dateien oder der Speicherort anderer Artefakte, die nach einem erfolgreichen Quellcode-Build generiert wurden. |
| Plugin | Konfigurieren Sie das maven-release-plugin-Plugin, um den automatisierten Deployment-Prozess umzusetzen. |
Maven Release Plugin
Maven verwendet das maven-release-plugin-Plugin, um die folgenden Aufgaben auszuführen.
mvn release:clean
Bereinigen Sie den Workspace, um sicherzustellen, dass der neueste Release-Prozess erfolgreich abläuft.
mvn release:rollback
Wenn der vorherige Release-Prozess fehlgeschlagen ist, setzen Sie den geänderten Workspace-Code und die Konfiguration zurück, um sicherzustellen, dass der Release-Prozess erfolgreich verläuft.
mvn release:prepare
Führen Sie verschiedene Operationen aus:
- Prüfen Sie, ob lokal nicht committete Änderungen vorhanden sind
- Stellen Sie sicher, dass keine Snapshot-Abhängigkeiten vorhanden sind
- Ändern Sie die Versionsinformationen der Anwendung für das Release
- Aktualisieren Sie POM-Dateien in SVN
- Testfälle ausführen
- Committen Sie die geänderten POM-Dateien
- Taggen Sie den Code in SVN
- Erhöhen Sie die Versionsnummer und hängen Sie einen Snapshot für zukünftige Releases an
- Committen Sie die geänderten POM-Dateien in SVN
mvn release:perform
Wechseln Sie den Code zum zuvor getaggten Speicherort, führen Sie das Maven-Deploy-Ziel aus, um die WAR-Datei zu deployen oder die entsprechenden Artefakte in das Repository zu bauen.
Öffnen Sie ein Kommandozeilen-Terminal, navigieren Sie zum Verzeichnis C:\ > MVN >bus-core-api und führen Sie dann den folgenden mvn-Befehl aus.
C:\MVN\bus-core-api>mvn release:prepare
Maven beginnt mit dem Erstellen des gesamten Projekts. Nach einem erfolgreichen Build können Sie den folgenden mvn-Befehl ausführen.
C:\MVN\bus-core-api>mvn release:perform
Nach einem erfolgreichen Build können Sie überprüfen, ob die hochgeladene JAR-Datei in Ihrem Repository wirksam ist.
Andere Erweiterungen