Methode zur Realisierung einer automatisierten Bereitstellung basierend auf Docker + Jenkins

Methode zur Realisierung einer automatisierten Bereitstellung basierend auf Docker + Jenkins

Verwenden Sie Code Cloud, um ein Git-Code-Speicherlager aufzubauen

https://gitee.com/login

  • Verwenden Sie Code Cloud, um ein privates Git-Repository zu erstellen
  • Laden Sie das lokale Springboot-Projekt in das Git-Repository hoch

Installieren Sie eine auf Docker basierende Jenkins-Umgebung

1. Installieren Sie Jenkins mit Docker

docker run -p 8080:8080 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

2. Zugriff auf die Jenkins-Adresse 8080

Hinweis: Beim ersten Start dauert das Laden von Jenkins etwa 3–10 Minuten.

3. Jenkins freischalten

docker exec -it 7f485bd95c3b /bin/bash Rufen Sie den Jenkins-Container auf cat /var/jenkins_home/secrets/initialAdminPassword 

Es dauert etwa 3-10 Minuten zu warten

Neuen Benutzer anlegen

Globale Toolkonfiguration von Jenkins

Geben Sie den Jenkins-Container ein und geben Sie $JAVA_HOME aus, um die Installationsadresse der Java-Umgebung abzurufen.

Installation der JDK-Umgebung

Installation der Maven-Umgebung

Installieren Sie das entsprechende Maven-Plugin von Jenkins

Suchen Sie nach "Systemverwaltung" - "Plugin installieren", klicken Sie auf "Optionales Plugin" und suchen Sie die folgende Maven-Plugin-Version

Plugin NameMaven Integration

Jenkins implementiert die automatische Bereitstellung von Springboot-Projekten, um eine neue Release-Aufgabe zu erstellen

Konfigurieren des Task-Git-Kontos und des Kennworts

3. Projektverpackung

saubere Installation

Klicken Sie auf „Jetzt erstellen“

Der erste Build kann lange dauern, da Sie einige zugehörige abhängige JAR-Pakete herunterladen müssen

Führen Sie das Shell-Skript aus, nachdem Jenkins erfolgreich gestartet ist

#!/bin/bash
#Dienstname SERVER_NAME = Springboot
# Quell-JAR-Pfad: Nachdem die MVN-Verpackung abgeschlossen ist, kann der JAR-Paketname im Zielverzeichnis auch als War-Paket ausgewählt werden. Das War-Paket kann zur Ausführung in das Webapps-Verzeichnis von Tomcat verschoben werden. Hier wird das JAR-Paket verwendet und der Befehl java -jar wird verwendet, um JAR_NAME=springboot-0.0.1-SNAPSHOT auszuführen.
# Quell-JAR-Pfad #/usr/local/jenkins_home/workspace--->Jenkins-Arbeitsverzeichnis #Demo-Projektverzeichnis #Zielpaket generiertes JAR-Paketverzeichnis JAR_PATH=/var/jenkins_home/workspace/springboot/target
# Nachdem die Verpackung abgeschlossen ist, verschieben Sie das JAR-Paket in das Verzeichnis, in dem das JAR-Paket ausgeführt wird ---> work_daemon. Das Verzeichnis work_daemon muss im Voraus erstellt werden JAR_WORK_PATH = /var/jenkins_home/workspace/springboot/target
 
echo "Prozess-ID abfragen-->$SERVER_NAME"
PID=`ps -ef | grep "$SERVER_NAME" | awk '{print $2}'`
echo "Prozess-ID abrufen: $PID"
echo "Prozess beenden"
für ID in $PID
Tun
töten -9 $id 
echo "$id getötet" 
Erledigt
echo "Prozess beenden abgeschlossen"
 
#Kopieren Sie das JAR-Paket in das Ausführungsverzeichnis echo "Kopieren Sie das JAR-Paket in das Ausführungsverzeichnis: cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH"
cp $JAR_PATH/$JAR_NAME.jar $JAR_WORK_PATH
echo "Komplette JAR-Paketkopie erstellen"
cd $JAR_WORK_PATH
#Dateiberechtigungen ändern chmod 755 $JAR_NAME.jar
Nohub java -jar $JAR_NAME.jar

Das Hinzufügen von nohub bedeutet, dass es im Hintergrund ausgeführt wird oder nohub verwendet wird &

Container ordnet Port 8081 zu

1. Starten Sie den Container neu

systemctl Neustart Docker

2. Nicht laufende Container löschen

docker rm $(sudo docker ps -a -q)
docker run -p 8080:8080 -p 8081:8081 -p 50000:50000 -v jenkins_data:/var/jenkins_home jenkinsci/blueocean

Dies ist das Ende dieses Artikels über die automatisierte Bereitstellung basierend auf Docker+Jenkins. Weitere Informationen zur automatisierten Bereitstellung basierend auf Docker+Jenkins finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Automatisierte Bereitstellung mit Jenkins+Docker+Gitee+SpringBoot
  • Automatisiertes Frontend-Deployment basierend auf Docker, Nginx und Jenkins
  • Docker+Gitlab+Jenkins erstellt automatisierte Bereitstellung von Grund auf
  • So erstellen Sie eine automatisierte Bereitstellungsumgebung für Docker, Jenkins und Node.js von Grund auf
  • Docker erstellt Jenkins und automatisiert die Schritte zum Verpacken und Bereitstellen von Projekten

<<:  Detailliertes Tutorial zum Bereitstellen von Jenkins basierend auf Docker

>>:  JavaScript implementiert eine Eingabefeldkomponente

Artikel empfehlen

Praktisches Beispiel einer virtuellen Vue-Liste

Inhaltsverzeichnis Vorwort Design erreichen Zusam...

Lernen Sie die Grundlagen von nginx

Inhaltsverzeichnis 1. Was ist nginx? 2. Was kann ...

Dieser Artikel hilft Ihnen, den Lebenszyklus in Vue zu verstehen

Inhaltsverzeichnis 1. vorErstellen & erstellt...

Beispielcode zur Implementierung des Aushöhlungseffekts mit CSS

Wirkungsprinzip Verwenden Sie hauptsächlich CSS-F...

Detaillierte Erläuterung gängiger MySQL-Befehle im Linux-Terminal

Aufschlag: # chkconfig --list Alle Systemdienste ...

Detaillierte Erläuterung der JavaScript-Programmschleifenstruktur

Inhaltsverzeichnis Struktur auswählen Schleifenst...

MySQL-Beispiel zum Abrufen des heutigen und gestrigen Zeitstempels 0:00

Wie unten dargestellt: Gestern: UNIX_TIMESTAMP(CA...

Die am häufigsten verwendeten HTML-Tags zum Erstellen von Webseiten

1. Optimierung häufig verwendeter HTML-Tags HTML ...

Verstehen Sie das elastische CSS3 FlexBox-Layout in 10 Minuten

Grundlegende Einführung Merkmale Flexbox ist ein ...

Vorteile und Nachteile des MySQL Advanced Learning Index sowie Nutzungsregeln

1. Vor- und Nachteile von Indizes Vorteile: schne...

Implementierung von proxy_pass im Nginx-Reverse-Proxy

Das Format ist einfach: Proxy_Pass-URL; Die URL u...

Detaillierte Erläuterung des Selinux-Grundkonfigurationstutorials unter Linux

selinux ( Security-Enhanced Linux) ist ein Linux-...