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

Reagieren Sie auf die Konstruktionsreihenfolge verschachtelter Komponenten

Inhaltsverzeichnis Auf der offiziellen React-Webs...

Detaillierte Erläuterung der Kommentare zu gespeicherten MySQL-Prozeduren

Inhaltsverzeichnis 1. Gebrauchsanweisung 2. Vorbe...

CSS3-Analyse der Schritte zur Erstellung des Douyin-LOGO

Auch „Tik Tok“ erfreut sich großer Beliebtheit un...

Eine kurze Zusammenfassung aller Kapselungsmethoden in Vue

Inhaltsverzeichnis 1. Kapselungs-API 2. Globale T...

Detaillierte Erklärung des Unterschieds zwischen Vue-Lebenszyklus

Lebenszyklusklassifizierung Jede Komponente von V...

Verstümmelte Zeichen und Lösungen im MySQL-Zeichensatz

Vorwort Ein Zeichensatz ist eine Reihe von Symbol...

So schreiben Sie speichereffiziente Anwendungen mit Node.js

Inhaltsverzeichnis Vorwort Problem: Kopieren groß...

Detaillierte Erklärung des Sticky Position-Attributs in CSS

Beim Entwickeln mobiler Apps stoßen Sie häufig au...

Detaillierte Erläuterung des Lese-Commits der MySQL-Transaktionsisolationsebene

MySQL-Transaktionsisolationsebene anzeigen mysql&...

Detaillierte Erklärung zur Überwachung von MySQL-Anweisungen

Schnelles Lesen Warum müssen wir SQL-Anweisungen ...