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
1. Vorbereitende Schritte (Windows 7 + MySQL-8.0....
Bild-Tag <IMG> einfügen Die farbenfrohen Web...
Zusätzliche Erklärung, Fremdschlüssel: Verwenden ...
Wenn Sie das Idea-Entwicklungstool zum Debuggen v...
Code kopieren Der Code lautet wie folgt: window.l...
F: Wenn Sie Outlook oder IE verwenden, wird beim ...
Nehmen Sie nun an, dass Sie dem Formular ein Elem...
Ich habe eine gute Idee gesehen und sie aufgezeic...
Vorwort Wenn Sie ein Topmenü erstellen, müssen Si...
1. Doppelklicken Sie zunächst auf das VMware-Symb...
Inhaltsverzeichnis 1. Projektumgebung: 2: DNS-Ser...
Aggregatfunktionen Wirkt auf einen Datensatz ein ...
1. Installation Installation mit yum ##Yum nginx ...
Lösung für das Datenasymmetrieproblem zwischen My...
Ich habe vor Kurzem eine Reihe statistischer Funk...