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 Projektanforderungen: Installieren Sie da...
Inhaltsverzeichnis Allgemeine Versionseinführung ...
Inhaltsverzeichnis 1.1. MySQL-Binlog aktivieren 1...
Linux-Systemversion: CentOS7.4 MySQL-Version: 5.7...
Inhaltsverzeichnis Vorwort 1. SCP-Nutzung 2. Verw...
Vorne geschrieben Weibo-Komponenten sind Komponen...
Der offizielle Quellcode von monaco-editor-vue la...
Vorwort Bei der tatsächlichen Verwendung der Date...
Da für den Import benutzerdefinierter Ubuntu-Imag...
Nachfrage: Diese Nachfrage ist ein dringender Bed...
In diesem Artikel wird das MySQL 5.7.18 MSI-Insta...
Vorwort Ab MySQL 5.7.11 unterstützt MySQL die Dat...
In diesem Artikel wird der spezifische Code für V...
In diesem Artikel wird der spezifische Code des W...
Vorwort: Wenn wir Dezimalzahlen speichern müssen ...