Automatische Bereitstellung von in Java entwickelten Webanwendungen mit Jenkins [Tomcat App Edition]

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 die Spring Boot-Anwendung automatisch auf dem JVM-Server bereitstellen möchten, lesen Sie Spring Boot App.

Auftragsfluss von Jenkins [^ 1]

  1. Überprüfen Sie den Quellcode
  2. Führen Sie den Build mit Maven aus und geben Sie die War-Datei aus
  3. Verwenden Sie Tomcat Manager, um die War-Datei zur Bereitstellung auf den Tomcat-Server zu übertragen

Überprüfen Sie den Quellcode

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.

Führen Sie den Build mit Maven aus und geben Sie die War-Datei aus

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 WebSpringMvc
./mvnw clean package

Wenn Sie Maven ausführen, wird web-spring-mvc.war im Ordner / WebSpringMvc / target generiert.

Übertragen Sie die War-Datei auf den Tomcat-Server und stellen Sie sie mit Tomcat Manager bereit

Wählen Sie ** Shell ausführen ** und führen Sie den Manager-Befehl von Tomcat in curl aus, um die War-Datei bereitzustellen.

# path=/Sie können den Kontextpfad der Anwendung mit dem App-Parameter angeben
curl --upload-file WebSpringMvc/target/web-spring-mvc.war "http://admin:[email protected]:8080/manager/text/deploy?path=/app&update=true"

Wenn die Jenkins-Jobausführung erfolgreich ist, können Sie die Anwendungsausführung unter der folgenden URL überprüfen. http://192.168.33.30:8080/app/greeting

Bildschirm "Einstellungen erstellen"

image.png

Referenz

Configuring Manager Application Access

[^ 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 / WebSpringMvc verwenden.

Recommended Posts

Automatische Bereitstellung von in Java entwickelten Webanwendungen mit Jenkins [Tomcat App Edition]
Automatische Bereitstellung von in Java entwickelten Webanwendungen mit Jenkins [Vorbereitung]
ERRORCODE = -4471 tritt in einer Java-Anwendung auf, die Db2 verwendet.
Rolle von JSP in Webanwendungen [Java]
Stellen Sie mit Ansible und Jenkins ein Image bereit, das aus Tomcat, Java und MySQL besteht
Github und Jenkins sind miteinander verbunden, um Anwendungen automatisch bereitzustellen.
Stellen Sie in der IntelliJ IDEA-Umgebung entwickelte Java-Anwendungen für Alibaba Cloud ECS-Instanzen bereit
Sicherheit in Webanwendungen
Remote-Debugging von Java-Anwendungen in Azure Web Apps
Erstellung einer Webanwendungsentwicklungsumgebung in Java (für unerfahrene Personen)
So stellen Sie eine Java-Anwendung in Alibaba Cloud EDAS in Eclipse bereit
Versuchen Sie es mit RocksDB mit Java
[Wahrscheinlich die einfachste] WEB-Anwendungsentwicklung mit Apache Tomcat + Java Servlet
Führen Sie Java-Anwendungen in Azure Batch aus
Verschlüsselung mit RSA-Verschlüsselung in Java
HTTPS-Verbindung mit tls1.2 in Java 6
Ich habe versucht, JWT in Java zu verwenden
Java-Anfänger haben versucht, mit Spring Boot eine einfache Webanwendung zu erstellen
WAR die WEB-Anwendung per Spring Boot und stellen Sie sie auf dem Tomcat-Server bereit
[Java] Stellen Sie eine mit Eclipse + Maven + Ontology mit Heroku erstellte Webanwendung bereit
Ich habe versucht, mit AI "A3RT" eine Talk-App in Java zu erstellen.
Die Geschichte, dass das Servlet nicht in die Java-Webanwendung geladen werden konnte
[AWS] So stellen Sie eine mit Rails 6 erstellte Webanwendung mithilfe von CircleCI (1) -Vorbereitung automatisch für ECR / ECS bereit [Containerbereitstellung]