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

Fallstricke basierend auf MySQL-Standardsortierregeln

Der Standardtyp varchar in MySQL ist case-insensi...

Details zur Verwendung des Vue-Slots

Inhaltsverzeichnis 1. Warum Slots verwenden? 1.1 ...

Sperrt Mysql ALTER TABLE die Tabelle beim Hinzufügen von Feldern?

Inhaltsverzeichnis Vor MySQL 5.6 Nach MySQL 5.6 Z...

Was ist BFC? So löschen Sie Floats mithilfe von CSS-Pseudoelementen

BFC-Konzept: Der Blockformatierungskontext ist ei...

jQuery-Plugin zur Implementierung des Minesweeper-Spiels (3)

In diesem Artikel wird der dritte Artikel zur Ver...

So kompilieren Sie den Linux-Kernel

1. Laden Sie die erforderliche Kernel-Version her...

Ubuntu 16.04 mysql5.7.17 öffnet Remote-Port 3306

Aktivieren Sie den Remotezugriff auf MySQL MySQL-...

So kapseln Sie die Rich-Text-Komponente von WangEditor in Angular

Die Rich-Text-Komponente ist eine sehr häufig ver...

MySQL-Abfragebaumstrukturmethode

Inhaltsverzeichnis MySQL-Abfragebaumstruktur 1. Ü...

Docker erstellt Redis5.0 und mountet Daten

Inhaltsverzeichnis 1. Einfaches Einbinden persist...

Einfache Verwendung von temporären MySQL-Tabellen

Temporäre MySQL-Tabellen sind sehr nützlich, wenn...