Um CI / CD zu üben, habe ich Jenkins so eingerichtet, dass Artefakte generiert und auf dem Anwendungsserver bereitgestellt werden.
Der Quellcode und die Serverkonstruktion werden in dieser [Vorbereitung] beschrieben (https://qiita.com/kazokmr/items/850c4cc86d6eac8fe72f). Wenn Sie automatisch auf dem Tomacat-Server bereitstellen möchten, lesen Sie Tomcat App.
Wählen Sie Git unter ** Quellcode verwalten ** aus und überprüfen Sie das im Vorbereitungsabschnitt erstellte Github-Repository. [^ 2] Geben Sie für die Verzweigung * / master an.
Wählen Sie ** Shell ausführen ** und führen Sie es mit dem Befehl . / Mvnw
aus.
Der Build verwendet Maven, wird jedoch auf dem im Repository enthaltenen Maven Wrapper anstelle der Mave-Task ausgeführt. Da das Repository zwei Projekte enthält, verschiebe ich das aktuelle Verzeichnis vor der Ausführung in WebSpringBoot.
cd WebSpringBoot
./mvnw clean package
Wenn Sie Maven ausführen, wird in / WebSpringBoot / target die Datei web-spring-boot.jar generiert.
Wählen Sie ** Shell ausführen **, SSH auf dem JVM-Server aus und platzieren Sie die generierten Artefakte: web-spring-boot.jar. Stellen Sie außerdem aus den folgenden Gründen den vollständigen Zugriff auf die übertragene JAR-Datei (rwx) sicher.
#Übertragen Sie die JAR-Datei mit dem SCP-Befehl von Jankins auf den JVM-Server
scp -i ~/.ssh/id_rsa WebSpringBoot/target/web-spring-boot.jar [email protected]:/var/jvm
#Ausführungsberechtigung erteilen
ssh -i ~/.ssh/id_rsa [email protected] sudo chmod 700 /var/jvm/web-spring-boot.jar
Wählen Sie ** Run Shell ** to SSH auf dem JVM-Server aus und starten Sie den Anwendungsdienst neu.
ssh -i ~/.ssh/id_rsa [email protected] sudo systemctl restart app
Wenn die Jenkins-Jobausführung erfolgreich ist, können Sie die Anwendungsausführung unter der folgenden URL überprüfen. http://192.168.33.20:8080/
Installing Spring Boot Applications(from Spring Boot Reference) Spring Boot Reference Guide
[^ 1]: Dieses Mal wollte ich durch Ausführen von Befehlen erstellen und bereitstellen, daher habe ich die Aufgabe ** Shell Execution ** verwendet.
[^ 2]: Dieses Repository enthält zwei Maven-Projekte, ** WebSpringMvc ** für Krieg und ** WebSpringBoot ** für JAR. Dieses Mal werden wir / WebSpringBoot verwenden.
[^ 3]: Um das JAR ausführbar zu machen, setzen Sie die ausführbare Einstellung des Spring-Boot-Maven-Plugins auf true.