Jenkins Tutorial | Kontinuierliche Integration mit Jenkins | Edureka



Jenkins Tutorial ist der zweite Blog der Jenkins-Blogserie. Dieser Blog befasst sich mit der verteilten Architektur von Jenkins und dem Erstellen eines Builds mit Jenkins.

Jenkins Tutorial

Jenkins ist eines der wichtigsten Werkzeuge in . Ich hoffe du hast meinen vorherigen Blog am gelesen . In diesem Jenkins Tutorial-Blog werde ich mich auf die Jenkins-Architektur und die Jenkins-Build-Pipeline konzentrieren und Ihnen zeigen, wie Sie einen Build in Jenkins erstellen.

Bevor wir mit dem Jenkins-Tutorial fortfahren, sind die wichtigsten Erkenntnisse aus dem vorherigen Blog:





  • Jenkins wird verwendet, um alle DevOps-Stufen mit Hilfe von Plugins zu integrieren.
  • Häufig verwendete Jenkins-Plugins sind Git, Amazon EC2, Maven 2-Projekt, HTML-Publisher usw.
  • Jenkins hat weit über 1000 Plugins und147.000 aktive Installationen zusammen mit über 1 Million Benutzern auf der ganzen Welt.
  • Mit Continuous Integration jede Änderung im Quellcodeistgebaut. Es führt auch andere Funktionen aus,Dies hängt vom Tool ab, das für die kontinuierliche Integration verwendet wird.
  • Nokia wechselte von Nightly Build zu Continuous Integration.
  • Der Prozess vor der kontinuierlichen Integration hatte viele Mängel. Infolgedessen war nicht nur die Softwarebereitstellung langsam, sondern auch die Qualität der Software entsprach nicht den Anforderungen. Entwickler hatten es auch schwer, Fehler zu finden und zu beheben.
  • Die kontinuierliche Integration mit Jenkins überwand diese Mängel, indem kontinuierlich ein Build und ein Test für jede im Quellcode vorgenommene Änderung ausgelöst wurden.

Jetzt ist der richtige Zeitpunkt, um Jenkins Architektur zu verstehen.

Jenkins Architektur

Lassen Sie uns die eigenständige Jenkins-Architektur überarbeiten, die ich Ihnen im erklärt habe Das folgende Diagramm zeigt dasselbe.



Jenkins Standalone-Architektur - Was ist Jenkins - Edureka

Dieser einzelne Jenkins-Server reichte nicht aus, um bestimmte Anforderungen zu erfüllen, wie z.

  • Manchmal benötigen Sie möglicherweise mehrere verschiedene Umgebungen, um Ihre Builds zu testen. Dies kann nicht von einem einzelnen Jenkins-Server durchgeführt werden.
  • Wenn größere und schwerere Projekte regelmäßig erstellt werden, kann ein einzelner Jenkins-Server nicht einfach die gesamte Last bewältigen.

Um den oben genannten Anforderungen gerecht zu werden, wurde die verteilte Jenkins-Architektur eingeführt.



Jenkins verteilte Architektur

Jenkins verwendet eine Master-Slave-Architektur, um verteilte Builds zu verwalten. In dieser Architektur kommunizieren Master und Slave über das TCP / IP-Protokoll.

Jenkins Meister

Ihr Haupt-Jenkins-Server ist der Master. Die Aufgabe des Meisters besteht darin, Folgendes zu erledigen:

  • Planen von Build-Jobs.
  • Das Versenden von Builds an die Slaves für die eigentliche Ausführung.
  • Überwachen Sie die Slaves (möglicherweise werden sie bei Bedarf online und offline geschaltet).
  • Aufzeichnung und Präsentation der Build-Ergebnisse.
  • Eine Master-Instanz von Jenkins kann Build-Jobs auch direkt ausführen.

Jenkins Sklave

Ein Slave ist eine ausführbare Java-Datei, die auf einem Remotecomputer ausgeführt wird. Es folgen die Eigenschaften von Jenkins Slaves:

  • Es hört Anfragen von der Jenkins Master-Instanz.
  • Slaves können auf einer Vielzahl von Betriebssystemen ausgeführt werden.
  • Die Aufgabe eines Slaves besteht darin, das zu tun, was ihm befohlen wurde. Dazu müssen Build-Jobs ausgeführt werden, die vom Master gesendet werden.
  • Sie können ein Projekt so konfigurieren, dass es immer auf einem bestimmten Slave-Computer oder einem bestimmten Slave-Computertyp ausgeführt wird, oder Jenkins einfach den nächsten verfügbaren Slave auswählen lassen.

Das folgende Diagramm ist selbsterklärend. Es besteht aus einem Jenkins-Meister, der drei Jenkins-Sklaven verwaltet.

Schauen wir uns nun ein Beispiel an, in dem Jenkins zum Testen in verschiedenen Umgebungen wie Ubuntu, MAC, Windows usw. verwendet wird.

Das folgende Diagramm zeigt dasselbe:

HTML-Tag für Zeilenumbruch

Die folgenden Funktionen werden im obigen Bild ausgeführt:

  • Jenkins überprüft das Git-Repository in regelmäßigen Abständen auf Änderungen im Quellcode.
  • Für jeden Build ist eine andere Testumgebung erforderlich, die für einen einzelnen Jenkins-Server nicht möglich ist. Um Tests in verschiedenen Umgebungen durchzuführen, verwendet Jenkins verschiedene Slaves, wie in der Abbildung gezeigt.
  • Jenkins Master fordert diese Slaves auf, Tests durchzuführen und Testberichte zu erstellen.

Jenkins Build Pipeline

Es wird verwendet, um zu wissen, welche Aufgabe Jenkins gerade ausführt. Oft werden mehrere verschiedene Änderungen gleichzeitig von mehreren Entwicklern vorgenommen. Daher ist es hilfreich zu wissen, welche Änderung getestet wird oder welche Änderung in der Warteschlange steht oder welcher Build fehlerhaft ist. Hier kommt die Pipeline ins Spiel. Die Jenkins-Pipeline gibt Ihnen einen Überblick darüber, wo Tests durchgeführt werden. In der Build-Pipeline wird der Build als Ganzes in Abschnitte unterteilt, z. B. die Phasen Unit-Test, Abnahmetest, Verpackung, Berichterstellung und Bereitstellung. Die Pipeline-Phasen können in Reihe oder parallel ausgeführt werden. Wenn eine Phase erfolgreich ist, wird automatisch zur nächsten Phase übergegangen (daher die Relevanz des Namens „Pipeline“). Das folgende Bild zeigt, wie eine Pipeline mit mehreren Builds aussieht.

Ich hoffe, Sie haben die theoretischen Konzepte verstanden. Lassen Sie uns jetzt ein bisschen Spaß beim Anfassen haben.

Ich werde einen neuen Job in Jenkins schaffen, es ist ein Freestyle-Projekt . Es stehen jedoch 3 weitere Optionen zur Verfügung. Schauen wir uns die in Jenkins verfügbaren Arten von Build-Jobs an.

Freestyle-Projekt:

Freestyle-Build-Jobs sind Allzweck-Build-Jobs, die maximale Flexibilität bieten.Der Freestyle-Build-Job ist die flexibelste und konfigurierbarste Option und kann für jede Art von Projekt verwendet werden. Die Einrichtung ist relativ einfach, und viele der hier konfigurierten Optionen werden auch in anderen Build-Jobs angezeigt.

Multikonfigurationsjob:

Mit dem „Multikonfigurationsprojekt“ (auch als „Matrixprojekt“ bezeichnet) können Sie denselben Build-Job in verschiedenen Umgebungen ausführen. Es wird zum Testen einer Anwendung in verschiedenen Umgebungen, mit verschiedenen Datenbanken oder sogar auf verschiedenen Build-Maschinen verwendet.

Überwachen eines externen Jobs:

Mit dem Build-Job „Überwachen eines externen Jobs“ können Sie nicht interaktive Prozesse wie Cron-Jobs im Auge behalten.

Maven-Projekt:

Das „maven2 / 3-Projekt“ ist ein Build-Job, der speziell für Maven-Projekte angepasst wurde. Jenkins versteht Maven-POM-Dateien und Projektstrukturen und kann die aus der POM-Datei gewonnenen Informationen verwenden, um den Arbeitsaufwand für die Einrichtung Ihres Projekts zu reduzieren.

Hier ist ein Video zum Jenkins-Tutorial zum besseren Verständnis von Jenkins. Schauen Sie sich dieses Jenkins-Tutorial-Video an.

Erste Schritte mit Jenkins | Jenkins und DevOps Tutorial | Jenkins für Anfänger | Edureka

Erstellen eines Builds mit Jenkins

Schritt 1: Wählen Sie in der Jenkins-Benutzeroberfläche die Startseite aus Neuer Gegenstand.

Schritt 2: Geben Sie einen Namen ein und wählen Sie Freestyle-Projekt .

Schritt 3: Auf dieser nächsten Seite legen Sie die Jobkonfiguration fest. Wie Sie schnell feststellen werden, stehen beim Erstellen eines neuen Projekts eine Reihe von Einstellungen zur Verfügung.Auf dieser Konfigurationsseite haben Sie auch die Möglichkeit dazu Build-Schritt hinzufügen um zusätzliche Aktionen wie das Ausführen von Skripten auszuführen. Ich werde ein Shell-Skript ausführen.

Dadurch erhalten Sie ein Textfeld, in das Sie alle gewünschten Befehle einfügen können. Sie können Skripte verwenden, um verschiedene Aufgaben wie Serverwartung, Versionskontrolle, Lesen von Systemeinstellungen usw. auszuführen. In diesem Abschnitt werde ich ein einfaches Skript ausführen.

Schritt 4: Speichern Sie das Projekt und Sie werden zu einer Projektübersichtsseite weitergeleitet. Hier sehen Sie Informationen zum Projekt, einschließlich des erstellten Verlaufs.

Schritt 5: Klicken Jetzt bauen auf der linken Seite, um den Build zu starten.

Schritt 6: Um weitere Informationen anzuzeigen, klicken Sie im Build-Verlaufsbereich auf diesen Build. Daraufhin werden Sie zu einer Seite mit einer Übersicht der Build-Informationen weitergeleitet.

Schritt 7: Das Konsolenausgabe Der Link auf dieser Seite ist besonders nützlich, um die Ergebnisse des Jobs im Detail zu untersuchen.

Schritt 8: Wenn Sie zu Jenkins nach Hause zurückkehren, sehen Sie eine Übersicht aller Projekte und ihrer Informationen, einschließlich des Status.

Der Status des Builds wird auf zwei Arten angezeigt: durch ein Wettersymbol und durch eine farbige Kugel. Das Wettersymbol ist besonders hilfreich, da es eine Aufzeichnung mehrerer Builds in einem Bild anzeigt.

Wie Sie im obigen Bild sehen können, repräsentiert die Sonne, dass alle meine Builds erfolgreich waren. Die Farbe des Balls gibt uns den Status dieses bestimmten Builds an. Im obigen Bild ist die Farbe des Balls blau, was bedeutet, dass dieser bestimmte Build erfolgreich war.

In diesem Jenkins-Tutorial habe ich gerade ein einführendes Beispiel gegeben. In meinem nächsten Blog werde ich Ihnen zeigen, wie Sie mit Jenkins Code aus dem GitHub-Repository ziehen und erstellen.

Wenn du das gefunden hast Jenkins Tutorial relevant, überprüfen Sie die von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Der Edureka DevOps-Zertifizierungskurs hilft den Lernenden, Kenntnisse in verschiedenen DevOps-Prozessen und -Tools wie Puppet, Jenkins, Nagios und GIT zu erwerben, um mehrere Schritte in SDLC zu automatisieren.

Hast du eine Frage an uns? Bitte erwähnen Sie es in den Kommentaren und wir werden uns bei Ihnen melden.