Jenkins erstellt Docker-Images und überträgt sie in das Harbor-Warehouse.

Jenkins erstellt Docker-Images und überträgt sie in das Harbor-Warehouse.

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-Datei

Speicherort: 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.xml

Um 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

Bildbeschreibung hier einfügen

Erstellen Sie einen neuen Maven-Projektkonfigurationsparameter-Build

Bildbeschreibung hier einfügen

Konfiguration des Git-Repository für Projekte

Bildbeschreibung hier einfügen

MVN Build Buile-Konfiguration

Bildbeschreibung hier einfügen

Erstellen Sie das Docker-Image und übertragen Sie es in die Repository-Konfiguration

Bildbeschreibung hier einfügen

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:
  • So verwenden Sie Docker buildx, um plattformübergreifende Images zu erstellen und sie in private Repositories zu übertragen
  • Verwenden Sie Docker, um ein Git-Image mithilfe des Klon-Repositorys zu erstellen
  • So verwenden Sie ein Domestic Image Warehouse für Docker
  • docker-maven-plugin verpackt das Image und lädt es in ein privates Warehouse hoch
  • So verwenden Sie das Docker-Image-Repository
  • Alibaba Cloud-Bereitstellungsschritte für das private Docker-Image-Repository
  • Docker-Container-Praxis-Image-Warehouse

<<:  Reines CSS, um nach Auswahl des Produkts das Zeichen √ in der unteren rechten Ecke anzuzeigen

>>:  12 nützliche Array-Tricks in JavaScript

Artikel empfehlen

MySQL GROUP_CONCAT-Einschränkungslösung

Wirkung: Die Funktion GROUP_CONCAT kann einen Fel...

So verwenden Sie Makros in JavaScript

In Sprachen werden häufig Makros zur Implementier...

Analyse des MySQL-Sperrmechanismus und der Verwendung

Dieser Artikel veranschaulicht anhand von Beispie...

Vue implementiert den Lupeneffekt beim Tab-Umschalten

In diesem Artikelbeispiel wird der spezifische Co...

Umfassende Website-Bewertungslösung

<br />Manchmal werden Ihnen möglicherweise F...

So fahren Sie eine MySQL-Instanz sicher herunter

In diesem Artikel wird der Vorgang zum Herunterfa...

Erläuterung, ob im interaktiven Design Paging oder Laden gewählt werden soll

Der Autor dieses Artikels @子木yoyo hat ihn in seine...