Vorwort:Nach mehreren Tagen des Studiums und meines eigenen Verständnisses habe ich ein Tutorial zur automatischen Bereitstellung von Docker+Jenkins zusammengestellt. Wenn es Mängel gibt, geben Sie mir bitte weitere Ratschläge. Vielen Dank! Vorteile von Docker:
Warum Jenkins verwenden:
1. Docker installieren
1. Überprüfen Sie Ihre aktuelle Kernelversion mit dem Befehl uname -r uname -r 2. Melden Sie sich mit Root-Rechten bei CentOS an. Stellen Sie sicher, dass das Yum-Paket auf die neueste Version aktualisiert ist. yum -y aktualisieren 3. Deinstallieren Sie die alte Version (falls Sie eine alte Version installiert haben) yum entferne Docker Docker-Common Docker-Selinux Docker-Engine 4. Installieren Sie die erforderlichen Pakete. yum-util stellt die Funktion yum-config-manager bereit. Die anderen beiden sind Abhängigkeiten des Devicemapper-Treibers. yum install -y yum-utils Gerätemapper-Persistent-Data lvm2 5. Richten Sie die Yum-Quelle ein yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 6. Sie können alle Docker-Versionen in allen Repositorys anzeigen und eine bestimmte Version zur Installation auswählen yum-Liste docker-ce --showduplicates | sort -r 7. Docker installieren sudo yum install -y docker-ce #Da im Repo standardmäßig nur das stabile Repository aktiviert ist, wird hier die neuste stabile Version 18.03.1 installiert 8. Starten und zum Booten hinzufügen systemctl start docker //Docker starten systemctl enable docker //So einstellen, dass es beim Booten gestartet wird 9. Überprüfen Sie, ob die Installation erfolgreich war (das Vorhandensein von Client- und Serviceteilen zeigt an, dass die Docker-Installation und der Start erfolgreich waren). Docker-Version 2. Jenkins mit Docker installieren1. Suche nach dem Jenkins-Image im RepositoryDocker-Suche Jenkins
2. Ziehen Sie das Jenkins-Image in die lokalen ImagesDocker zieht Jenkins/Jenkins Beachten Sie, dass die hier abgerufene Version Jenkins/Jenkins ist, da die vorherige Jenkins-Version nur 2.60 war, was dazu führte, dass die Installation des Jenkins-Plugins fehlschlug. Sie können die Version beim Abrufen angeben. Beispielsweise bedeutet docker pull java:8, dass die abgerufene Java-Version 8 ist. Wenn Sie keine Version angeben, ist die neueste Version die Standardversion. 3. Starten Sie den Jenkins-Containerdocker run --name myjenkins -d -p 8081:8080 -p 8085:8085 jenkins/jenkins –name myjenkins gibt den Containernamen als myjenkins an
3. Initialisierungsvorgang der Anmeldung bei Jenkins1. Greifen Sie auf die Jenkins-Schnittstelle zu. Wenn die IP meiner virtuellen Maschine beispielsweise 192.168.199.188 lautet, geben Sie 192.168.199.188:8081 ein und drücken Sie die Eingabetaste, um die folgende Schnittstelle anzuzeigen. Geben Sie den Container ein, in dem Jenkins installiert ist docker exec -it myjenkins bash // Den angegebenen Container aufrufen, myjenkins steht dabei für den Namen, den wir beim Starten des Containers angegeben haben cat /var/jenkins_home/secrets/initialAdminPassword` // Das Passwort anzeigen, das Passwort kopieren und in das Textfeld einfügen Funktionsdiagramm: 2. Installieren Sie das Plug-In. Hier installieren wir das von Jenkins empfohlene Plug-In. Klicken Sie hier, um das empfohlene Plugin zu installieren: 3. Die Installation wird ausgeführt. Bitte warten Sie einen Moment. Klicken Sie nach Abschluss der Installation auf „Fortfahren“. 4. Erstellen Sie einen Administratorbenutzer, oder verwenden Sie zum Fortfahren direkt das Administratorkonto: 5. Die Instanzkonfiguration wird direkt gespeichert: 6. Beginnen Sie mit der Nutzung von Jenkins: 7. Gehen Sie zur Jenkins-Homepage: 4. Globale Toolkonfiguration (Konfigurationsumgebung)Klicken Sie auf Systemverwaltung – Globale Toolkonfiguration 1. JDK konfigurieren: Automatische Installation abbrechen (die JDK-Umgebung wird normalerweise im Container installiert), den Docker-Container aufrufen, mit 2. Maven konfigurieren: Geben Sie einen Namen an, installieren Sie automatisch und klicken Sie auf Speichern 5. Installieren Sie das Maven-Plugin Klicken Sie auf Systemverwaltung – Plugin-Verwaltung6. Erstellen Sie eine neue Aufgabe, um die automatische Bereitstellung abzuschließen1. Kehren Sie zur Startseite zurück, klicken Sie auf Neue Aufgabe und erstellen Sie ein Maven-Projekt 2. Klicken Sie auf OK und kehren Sie zur Startseite zurück. Wir haben eine zusätzliche Aufgabe namens SpringBoot_AutoTest1 gefunden (die obige Aufgabe ist die vorherige, ignorieren Sie sie also). 3. Klicken Sie auf den Projektnamen SpringBoot_AutoTest1 --> Klicken Sie auf Konfigurieren 3.1 Quellcodeverwaltung (konfigurieren Sie die Git-Repository-Adresse, Jenkins ruft den Code aus dem Remote-Repository ab): 3.2 Build-Konfiguration (Jenkin führt den Verpackungsbefehl nach dem Pullen des Codes automatisch aus): 3.3 Konfigurieren Sie das Shell-Skript (nachdem die Jenkins-Verpackung abgeschlossen ist, wird das Shell-Skript automatisch ausgeführt, um das Projekt zu starten und eine automatische Bereitstellung zu realisieren) und speichern Sie es dann: Angehängtes Shell-Skript: #!/bin/bash # #!/bin/bash bedeutet, dass dieses Skript /bin/bash zum Interpretieren und Ausführen verwendet. Darunter ist #! ein spezieller Indikator, gefolgt vom Shell-Pfad, der dieses Skript interpretiert. Bash ist nur ein Shell-Typ. Es gibt viele andere Shells, wie zum Beispiel: sh, csh, ksh, tcsh, ... # #!/bin/bash kann nur in die erste Zeile gesetzt werden. Wenn dahinter #! steht, kann dies nur als Kommentar betrachtet werden. #Dienstname SERVER_NAME = SpringBoot_AutotTest #Quell-JAR-Pfad: Nachdem die MM-Verpackung abgeschlossen ist, kann der JAR-Paketname im Zielverzeichnis auch als War-Paket ausgewählt und das War-Paket nach Tomcat verschoben werden. JAR_NAME=jekins-0.0.1-SNAPSHOT #Zielpaket generiert das Verzeichnis des JAR-Pakets JAR_PATH = /var/jenkins_home/workspace/SpringBoot_AutotTest/target # Basierend auf dem spezifischen Verpackungsspeicherort können Sie das Projekt einmal erstellen und das gepackte Verzeichnis über das Protokoll anzeigen. #Verschieben Sie nach dem Verpacken das IAR-Paket in das Verzeichnis, in dem das JAR-Paket ausgeführt wird JAR_WORK_PATH = /var/jenkins_home/workspace/SpringBoot_AutotTest/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 "Komplettes Kopieren des JAR-Pakets" cd $JAR_WORK_PATH #Dateiberechtigungen ändern chmod 755 $JAR_NAME.jar # Frontdesk-Start #java -jar $JAR_NAME.jar #Hintergrundstart BUILD_ID=dontKillMe nohup java -jar $JAR_NAME.jar & Dies ist das Ende dieses Artikels über das Erstellen einer automatisierten Bereitstellung von Grund auf mit Docker+Gitlab+Jenkins. Weitere Informationen zur automatisierten Bereitstellung mit Docker+Gitlab+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:
|
<<: So wählen Sie zwischen MySQL CHAR und VARCHAR
>>: 10 Tipps zur Verbesserung der Website-Benutzerfreundlichkeit
Vorwort Um dem herkömmlichen WEB-Layout zu folgen...
MongoDB ist eine Hochleistungsdatenbank, bei der ...
Szenario Eine aktuelle Anforderung ist eine h5-Se...
Um nach RocketMQ-Images zu suchen, können Sie auf...
Hintergrund Lassen Sie mich zunächst den Hintergr...
Dieser Artikel erläutert anhand eines konkreten B...
Inhaltsverzeichnis 1. Einführung in Slow Log 2. L...
Dieser Artikel enthält das grafische Tutorial zur...
Inhaltsverzeichnis Docker-Datei pom.xml Jenkins-K...
Entwicklungsumgebungsfenster Entwicklungstools Vi...
Jede dieser 16 Sites ist eine sorgfältige Lektüre ...
Heute habe ich eine Frage zur Konfiguration einer...
Vorwort Ein Klassenkamerad untersucht die Streami...
1. HTML-Tags immer schließen Im Quellcode der vor...
1.core-Datei Wenn während der Programmausführung ...