Das Spring-Boot-Projekt verwendet Jenkins, um ein Docker-Image zu erstellen, es in das Harbor-Repository zu übertragen, den Container zu starten und das Image dann in den lokal ausgeführten Container zu ziehen. Docker-DateiSpeicherort: im Stammverzeichnis, auf derselben Ebene wie src VON java:8 # Autor: MAINTAINER zhaoyc VOLUMEN /tmp #ARG JAR_FILE #Fügen Sie das JAR-Paket dem Container hinzu und benennen Sie es in app.jar um ADD Ziel/*.jar app.jar Führen Sie den Befehl bash -c 'touch /app.jar' aus. ENV TZ=Asien/Shanghai #RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone ENTDECKEN 81 #CMD ["-jar", "/app.jar"] "nohup" "&" EINSTIEGSPUNKT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] pom.xmlUm die Maven-Versionsnummer als 1.4.2 anzugeben, wurden andere Versionen nicht getestet, sonst kann die Hauptklasse nicht gefunden werden <Plugins> <!-- Start-Plug-In für Mavn-JAR-Pakete --> <Plugin> <groupId>org.springframework.boot</groupId> <artifactId>Spring-Boot-Maven-Plugin</artifactId> <version>1.4.2.RELEASE</version> </plugin> </plugins> Jenkins-Konfiguration Systemeinstellungen-Konfiguration Docker – Docker-Plugin muss installiert werden Erstellen Sie einen neuen Maven-Projektkonfigurationsparameter-Build Konfiguration des Git-Repository für Projekte MVN Build Buile-Konfiguration Erstellen Sie das Docker-Image und übertragen Sie es in die Repository-Konfiguration Führen Sie das Skript aus, nachdem Sie es in das Repository gepusht haben. #!/bin/bash #IMAGE=${Moduldateiname} #TAG=${Tag} BILD=$1 TAG=$2 PULL_IMAGE=192.168.1.100:81/Projekt/${IMAGE}:${TAG} # Subtraktion berechnen und mit 0 vor dem Komma ausgeben, also 0,3-0,1=0,2 CURRENT_IAMGE=`echo "$TAG - 0.1" | bc | awk '{printf "%.1f", $0}'` echo '================Anmeldung beim Harbor-Lager beginnen=================' Docker-Anmeldung http://192.168.1.100:81 -u admin -p Harbor12345 wenn [ $? -eq 0 ]; dann echo '================Anmeldung erfolgreich==================' anders echo '================Anmeldung fehlgeschlagen==================' Rückgabe 1 fi echo '=================Bild abrufen beginnen=================' Docker-Pull ${PULL_IMAGE} echo '================Ende des Bildabrufs=================' # Containervorgang aktualisieren echo '================Ausführen des Images beenden=================' Docker-Stopp ${IMAGE}_${CURRENT_IAMGE} echo "10 Sekunden warten" Schlaf 10 echo '================Spiegel starten=================' #wenn [ ${IMAGE} == "java-demo" ]; dann # docker run -d --name ${IMAGE}_${TAG} -p 9001:9001 ${PULL_IMAGE} #elif [ ${IMAGE} == "spring-cloud-eureka-client-demo" ]; dann # docker run -d --name ${IMAGE}_${TAG} -p 9012:9012 ${PULL_IMAGE} #fi docker run -d --name ${IMAGE}_${TAG} -p 9001:9001 ${PULL_IMAGE} wenn [ $? -eq 0 ]; dann echo '================Spiegelung erfolgreich gestartet=================' anders echo '=================Start des Spiegels fehlgeschlagen=================' Rückgabe 1 fi Dies ist das Ende dieses Artikels darüber, wie Jenkins Docker-Images erstellt und sie in das Harbor-Repository überträgt. Weitere Informationen dazu, wie Jenkins Docker-Images erstellt, 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:
|
<<: Reines CSS, um nach Auswahl des Produkts das Zeichen √ in der unteren rechten Ecke anzuzeigen
>>: 12 nützliche Array-Tricks in JavaScript
Wirkung: Die Funktion GROUP_CONCAT kann einen Fel...
In SQL wird GROUP BY verwendet, um Daten in den E...
In Sprachen werden häufig Makros zur Implementier...
Dieser Artikel veranschaulicht anhand von Beispie...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis Vorwort 1. Laden Sie MySQL 8.0...
Inhaltsverzeichnis Frage 1. Installieren Sie webp...
Vorwort Hallo zusammen, ich bin Liang Xu. Bei der...
Umsetzungsprinzip Die Hauptgrafik besteht aus zwe...
<br />Manchmal werden Ihnen möglicherweise F...
Zusammenfassung: MySQL bietet eine Vielzahl von S...
Problem: Das PHP-Programm auf einem Server kann k...
Code kopieren Der Code lautet wie folgt: <html...
In diesem Artikel wird der Vorgang zum Herunterfa...
Der Autor dieses Artikels @子木yoyo hat ihn in seine...