So richten Sie Jenkins für die kontinuierliche Entwicklungsintegration unter CentOS 7 ein

Einführung

Code zusammenführen. Koordinieren von Freigaben. Ermitteln des Buildstatus. Updates pflegen. Wenn Sie die Frustration dieser Prozesse so gut kennen, dass die Worte selbst Kopfschmerzen bereiten, sollten Sie sich mit Jenkins CI befassen.

Das Betreiben eines Projekts, insbesondere eines Projekts, das von mehreren Teammitgliedern gleichzeitig entwickelt wurde und viele Funktionen, Komponenten, Sprachen und Umgebungen umfasst, ist im besten Fall ein Kampf - und im schlimmsten Fall eine übermenschliche Leistung, um über Wasser zu bleiben.

Jenkins ist hier um zu helfen. Grundsätzlich eine Lösung für die kontinuierliche Integration - d. H. Die Praxis, den gesamten Code kontinuierlich in einem zentralen Build zusammenzuführen - Jenkins fungiert als Hauptsitz für die Abläufe Ihres Projekts. Es kann Ihr Projekt in all seinen Facetten überwachen, regulieren, vergleichen, zusammenführen und warten.

Im Kern macht Jenkins zwei Dinge: die automatisierte Integration und die Überwachung externer Builds. Dies bedeutet, dass es den Prozess der Wartung Ihres Codes erheblich vereinfachen und die Qualität Ihrer Builds im Auge behalten kann, sodass Sie keine bösen Überraschungen erleben, wenn einige Ihrer Entwickler ihren Code zusammenführen, bevor er fertig ist .

Kommen wir zur Sache und lernen genau, wie Jenkins aussieht und wie man es benutzt.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie Folgendes:

Alle Befehle in diesem Lernprogramm sollten als Benutzer ohne Rootberechtigung ausgeführt werden. Wenn für den Befehl root-Zugriff erforderlich ist, wird vor + sudo + angezeigt.

Systemspezifische Pakete im Vergleich zur WAR-Datei

Jetzt, da Sie wissen, was Jenkins ist, müssen Sie verstehen, wie es verteilt wird. Jenkins läuft auf Java und wird als WAR-Datei geliefert - eine Sammlung verwandter Inhalte, die aus einer Webanwendung besteht und auf einem Server ausgeführt werden soll. Die Entwickler von Jenkins erweitern die Benutzerfreundlichkeit jedoch freundlicherweise durch eine Reihe systemspezifischer Pakete, mit denen Jenkins als kontrollierter Dienst ausgeführt werden kann.

Für die Red Hat-Distributionsfamilie, die die CentOS-Betriebssysteme enthält, ist ein Jenkins-Paket verfügbar. Insbesondere CentOS 7 ist jedoch eine heikle Rasse, weshalb ein anderer Ansatz erforderlich ist. Vorgänge, die in anderen Red Hat-basierten Betriebssystemen, auch in anderen CentOS-Versionen, ausgeführt werden, funktionieren in CentOS 7 in der Regel anders, und die potenziellen Fehler, die daraus resultieren, können schwierig zu debuggen sein. Da das Jenkins-Paket ein generisches Red Hat-Paket ist und nicht für CentOS differenziert wird, ist die Wahrscheinlichkeit, auf Probleme zu stoßen, höher als auf anderen Betriebssystemen. Aus diesem Grund führen wir Jenkins nicht über dieses Paket aus. Dadurch wird die WAR-Datei über Java ausgeführt, was weitaus weniger praktisch ist. Daher müssen wir sie manuell über Java starten und stoppen.

Glücklicherweise gibt es einen Ausweg, und auch ohne Paket können wir mit CentOS zusammenarbeiten, damit Jenkins wie ein Service behandelt wird.

Schritt 1 - Jenkins installieren

Es gibt zwei grundlegende Möglichkeiten, um Jenkins unter CentOS zu installieren: über ein Repository oder Repo und über die WAR-Datei. Die Installation von einem Repository aus ist die bevorzugte Methode. Wir werden zuerst darauf eingehen.

Sie benötigen Java, um Jenkins auszuführen (beide Methoden). Wenn Ihr Server noch nicht über Java verfügt, installieren Sie es mit:

sudo yum -y install java

Im Allgemeinen können Sie Folgendes überprüfen, wenn Sie einen Dienst oder ein Tool benötigen, sich aber nicht sicher sind, welches Paket dieses bereitstellt:

yum whatprovides

Wobei "++" der Name des Dienstes oder Tools ist, den Sie benötigen.

Installation vom Repo

Führen Sie nun Folgendes aus, um Jenkins vom Red Hat Repo herunterzuladen:

sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo

Das "+ wget +" - Tool lädt Dateien in den Dateinamen herunter, der nach dem "O" -Flag angegeben ist (das ist ein großes "O", keine Null).

Importieren Sie dann den Bestätigungsschlüssel mit dem Paketmanager-RPM:

sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key

Zum Schluss installieren Sie Jenkins, indem Sie Folgendes ausführen:

sudo yum install jenkins

Das ist es! Sie sollten jetzt in der Lage sein, Jenkins als Dienst zu starten:

sudo systemctl start jenkins.service

Sobald der Dienst gestartet wurde, können Sie seinen Status überprüfen:

sudo systemctl status jenkins.service

Auf diese Weise erhalten Sie eine ziemlich lange Vorschau mit vielen Informationen zum Start und zur Funktionsweise des Prozesses. Wenn jedoch alles gut gelaufen ist, sollten Sie zwei Zeilen ähnlich der folgenden sehen:

Loaded: loaded (/etc/systemd/system/jenkins.service; disabled)
Active: active (running) since Tue 2015-12-29 00:00:16 EST; 17s ago

Dies bedeutet, dass die Jenkins-Dienste ihren Start abgeschlossen haben und ausgeführt werden. Sie können dies bestätigen, indem Sie die Weboberfläche wie zuvor unter + http: //: 8080 + aufrufen.

image: https://assets.digitalocean.com/articles/jenkins_centos_7/dashboard.png [Willkommen bei Jenkins! Das Jenkins-Dashboard.]

Ebenso können Sie den Dienst beenden:

sudo systemctl stop jenkins.service

oder neu starten:

sudo systemctl restart jenkins.service

Weitere Informationen zum Verwalten von Diensten mit systemctl finden Sie unter How To Use Systemctl Systemd-Dienste und -Einheiten verwalten.

Installation aus der WAR-Datei

Wenn Sie Jenkins aus irgendeinem Grund nicht über das Repository installieren, können Sie mit der WAR-Datei dieselben Ergebnisse erzielen, obwohl dies etwas mehr Arbeit erfordert.

Laden Sie zuerst die Jenkins-WAR-Datei auf den Server herunter und führen Sie sie ohne großen Aufwand aus, um sicherzustellen, dass die Grundlagen problemlos funktionieren.

Die jeweils aktuellste Version von Jenkins finden Sie unter Jenkins Spiegel. Sie können jedes beliebige Tool verwenden, um diese Datei herunterzuladen. Die folgende Methode verwendet ein Befehlszeilentool mit dem Namen "+ wget +":

wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war

Wenn Sie bereit sind, starten Sie Jenkins über Java:

java -jar jenkins.war

Die Ausgabe in der Konsole sollte anzeigen, dass Jenkins gestartet wurde:

...
INFO: Jenkins is fully up and running
...

Sie können jetzt über den Browser auf die Benutzeroberfläche zugreifen (+ http: //: 8080 +).

Nachdem Sie bestätigt haben, dass Jenkins erfolgreich ausgeführt wird, beenden Sie den Prozess, damit Sie Änderungen daran vornehmen können, damit er als Dienst ausgeführt werden kann, wie im nächsten Schritt erläutert. Um einen laufenden Vordergrundprozess zu beenden, drücken Sie + STRG-C +.

Schritt 2 - Jenkins als Dienst ausführen

Wenn Sie im vorherigen Abschnitt entschieden haben, Jenkins nicht über das Repository zu installieren, und stattdessen die WAR-Datei verwendeten, können Sie Jenkins noch nicht wie einen Standarddienst verwenden. Wenn Sie das Repo verwendet haben, überspringen Sie diesen Schritt.

Wenn Sie Jenkins wie folgt konfigurieren, wird es weiterhin über Java ausgeführt. Sie können es jedoch wie einen Dienst behandeln, indem Sie es starten und stoppen und es problemlos im Hintergrund ausführen lassen. Der Dienst wird im Wesentlichen als Wrapper arbeiten.

Stellen Sie zunächst sicher, dass sich die heruntergeladene WAR-Datei an einem Ort befindet, der für die langfristige Speicherung und Verwendung geeignet ist:

sudo cp jenkins.war /usr/local/bin/jenkins.war

Wechseln Sie dann in Ihr Verzeichnis "+ / etc / systemd / system / " und erstellen Sie eine neue Datei mit dem Namen " jenkins.service +". In der folgenden Demonstration wird der Nano-Editor verwendet, Sie können jedoch natürlich jedes gewünschte Bearbeitungswerkzeug verwenden.

cd /etc/systemd/system/
sudo nano jenkins.service

Fügen Sie nun die folgenden Zeilen in die neue Datei + jenkins.service + ein. In Kürze werden wir genau erläutern, was diese Zeilen leisten.

/usr/local/bin/jenkins.war

[Unit]
Description=Jenkins Service
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/java -jar /usr/local/bin/jenkins.war
Restart=on-abort

[Install]
WantedBy=multi-user.target

Wenn Sie zuvor Konfigurationsdateien (INI-Dateien oder ähnliches) gesehen haben, erkennen Sie die hier verwendete Struktur. Der in Klammern gesetzte Text kennzeichnet eine Abschnittsüberschrift. Dies bedeutet, dass zum Beispiel "+ [Service] +" einen Abschnitt mit dem Namen "Service" deklariert und alle Zuordnungen darunter relevante Informationen enthalten, die das System dann zu finden und mit der Abschnittsüberschrift in Beziehung zu setzen weiß.

Eine Konfigurationsdatei, einschließlich dieser, ist in der Regel eine Textdatei. Dies bedeutet, dass sie für den Computer keine eigentliche Bedeutung hat. Vielmehr wird die Textdatei von einem Prozess analysiert, und dieser Prozess verwendet die Überschriften und andere Informationen, um sich zurechtzufinden. Aus diesem Grund ist es technisch irrelevant, wie eine bestimmte Konfigurationsdatei angeordnet ist - solange das Programm, das sie liest, verstehen kann, was alles bedeutet.

Der erste Abschnitt, "+ Unit +", enthält nur zwei Konfigurationsanweisungen. Der erste ist einfach ein Name. Es kann ein beliebiger Name sein, im Idealfall jedoch ein Name, der den neuen Prozess eindeutig identifiziert. Die zweite Anweisung gibt an, welcher Dienst, falls vorhanden, zum Starten des aktuellen Dienstes erforderlich ist.

Im nächsten Abschnitt können Sie mit der Direktive "+ Type " auswählen, welchen Starttyp dieser Dienst verwenden soll. Der Wert " simple " gibt an, dass der in der späteren Direktive " ExecStart " angegebene Prozess der primäre Prozess des zu erstellenden Dienstes ist. Tatsächlich ist " type " nicht erforderlich, da " simple +" angenommen wird, wenn der Typ nicht spezifiziert ist, aber wir belassen es der Klarheit halber.

+ Benutzer + gibt an, welcher Benutzer die Kontrolle über diesen Prozess hat, und + Neustart + wird verwendet, um anzuzeigen, dass in diesem Fall der Dienst neu gestartet wird, wenn der Prozess beendet wird, der Beendigungscode jedoch einen Fehler impliziert. Dies ist nützlich, um die Kontinuität des Dienstes bei unerwarteten Abstürzen aufrechtzuerhalten.

Wie bereits erwähnt, ist "+ ExecStart +" die Direktive, in der wir angeben, welcher Prozess die Hauptaktion des Dienstes werden soll. Diese Anweisung stellt den Hauptwrapper für Jenkins dar. Der Dienst führt die WAR-Datei über Java aus, anstatt sie als Vordergrundprozess zu behandeln.

Schließlich gibt im Abschnitt "+ Install " " multi-user.target +" ein Ziel an, das vor CentOS 7 als Runlevel bezeichnet wurde. Es vermittelt dem System einen Eindruck davon, welche Ressourcen für diesen Dienst erforderlich sind und welche Intensität der Benutzer benötigt.

Sobald Ihre Datei erstellt und gespeichert wurde, sollten Sie in der Lage sein, Ihren neuen Jenkins-Dienst zu starten!

Wenn Sie fertig sind, führen Sie Folgendes aus:

sudo systemctl daemon-reload

Dies wendet die Änderungen an, die Sie an dieser Einheit vorgenommen haben (tatsächlich werden die Änderungen auf alle Einheiten angewendet, die geändert wurden).

Sie sollten jetzt in der Lage sein, Jenkins als Dienst zu starten:

sudo systemctl start jenkins.service

Sobald der Dienst gestartet wurde, können Sie seinen Status überprüfen:

sudo systemctl status jenkins.service

Auf diese Weise erhalten Sie eine ziemlich lange Vorschau mit vielen Informationen zum Start und zur Funktionsweise des Prozesses. Wenn jedoch alles gut gelaufen ist, sollten Sie zwei Zeilen ähnlich der folgenden sehen:

Loaded: loaded (/etc/systemd/system/jenkins.service; disabled)
Active: active (running) since Tue 2015-12-29 00:00:16 EST; 17s ago

Dies bedeutet, dass die Jenkins-Dienste ihren Start abgeschlossen haben und ausgeführt werden. Sie können dies bestätigen, indem Sie die Weboberfläche wie zuvor unter + http: //: 8080 + aufrufen.

Ebenso können Sie den Dienst beenden:

sudo systemctl stop jenkins.service

oder neu starten:

sudo systemctl restart jenkins.service

Weitere Informationen zum Verwalten von Diensten mit systemctl finden Sie unter How To Use Systemctl Systemd-Dienste und -Einheiten verwalten.

Schritt 3 - Benutzer anlegen

Sobald Jenkins reibungslos funktioniert, ist die Einrichtung einer guten Sicherheit der nächste Schritt. Ab hier hängen Ihre genauen Aktionen weitgehend von Ihren Zielen für Jenkins ab. Im Folgenden finden Sie allgemeine Richtlinien für die optimale Einrichtung und Verwendung von Jenkins sowie einige Beispiele, um den Weg zu ebnen.

Jenkins bietet Einstellungen für Sicherheit und Rollenverwaltung, die nützlich sind, um den Zugriff zu steuern und Benutzeraktionen zu definieren. Wir werden das kurz besuchen, um diese Konzepte vorzustellen. Um zu diesen Einstellungen zu gelangen, kehren Sie über Ihren Browser zur Jenkins-Oberfläche zurück, sobald Ihr Dienst ausgeführt wird (+ http: //: 8080 +). Links sehen Sie ein Menü - wählen Sie dort * Jenkins verwalten *. Dadurch gelangen Sie zu einer Seite mit einer Reihe von Anpassungsoptionen. Möglicherweise wird oben eine Warnung angezeigt: * Mit ungesicherten Jenkins kann jeder im Netzwerk Prozesse in Ihrem Namen starten. Aktivieren Sie zumindest die Authentifizierung, um einen Missbrauch zu verhindern. * Dies ist die Anweisung von Jenkins, mit der Sie dazu gebracht werden, ein Sicherheitselement in Ihr System einzuführen.

image: http: //i.imgur.com/KhrN4oK.png [Die Seite "Jenkins verwalten".]

Der erste Schritt, den Sie hier ausführen müssen, ist der Aufruf von * Configure Global Security * (Globale Sicherheit konfigurieren), der sich oben in der Liste der Links auf der Seite zum Verwalten von Jenkins befindet. Aktivieren Sie das Kontrollkästchen für * Sicherheit aktivieren *, um eine Gruppe von Optionen für diesen Zweck aufzurufen. Es gibt verschiedene Möglichkeiten, die Sicherheit für Jenkins zu konfigurieren. Eine ausführliche Erläuterung finden Sie im Abschnitt Standard Security Setup von die * Use Jenkins * -Dokumentation.

Bei der einfachsten dieser Optionen, die wir heute erläutern werden, verwendet Jenkins eine eigene Datenbank zum Speichern von Benutzerkonfigurationen. Wählen Sie im Abschnitt "Zugriffskontrolle", der beim Aktivieren des Kontrollkästchens angezeigt wurde, die Option "Jenkins eigene Benutzerdatenbank" aus. Kurz gesagt, die anderen Optionen sind die Verknüpfung von Jenkins mit vorhandenen Unix-Benutzern und -Gruppen, die Verwendung einer organisationsweiten Anmeldung (LDAP-Option) oder die Erlaubnis eines Java-Servlets, den Zugriff zu verwalten. Weitere Optionen können über Plugins hinzugefügt werden (Plugins werden in Kürze behandelt).

Ob Sie die Registrierung neuer Benutzer zulassen sollten, hängt weitgehend von Ihren eigenen Anforderungen ab. Im Allgemeinen lohnt es sich jedoch, den Zugriff einzuschränken, und wenn Benutzer sich nach Belieben anmelden können, kann dies zu einer Offenheit führen, die möglicherweise gefährlich sein kann. Um dies einzuschränken, deaktivieren Sie das Kontrollkästchen * Benutzer können sich anmelden *. Sobald diese Einstellung deaktiviert wurde, können nur Administratoren neue Konten erstellen. In Kürze geben Sie Administratorrechte für einen Benutzer an, den Sie erstellen, und wir werden ausführlich auf das Hinzufügen neuer Benutzer eingehen.

Wählen Sie unter * Autorisierung * die Option * Matrixbasierte Sicherheit * aus. Dies ermöglicht eine gewisse Feinabstimmung der Steuerelemente, ohne auf komplexe Einstellungen zurückgreifen zu müssen. Es wird ein Benutzer mit dem Namen "Anonym" angezeigt. Ein anonymer Benutzer ist jeder von überall, auch wenn er nicht angemeldet ist. Aus diesem Grund verfügt der anonyme Benutzer standardmäßig über keine Fähigkeiten. Da dies die anfängliche Einrichtung der Jenkins-Instanz ist, müssen Sie diesem Benutzer die vollständigen Berechtigungen erteilen: Es gibt derzeit nur anonyme Benutzer, und Sie sind nicht angemeldet. Wenn Sie also anonyme Berechtigungen deaktivieren, können Sie nicht mehr auf Jenkins zugreifen überhaupt.

Verwenden Sie die kleine Schaltfläche rechts neben der Zeile * Anonym *, um alle Berechtigungen auszuwählen. Verwenden Sie als Nächstes das Eingabefeld * Benutzer / Gruppe zum Hinzufügen *, um einen neuen Benutzer anzugeben, für den Berechtigungen hinzugefügt werden sollen. Beachten Sie, dass hierdurch kein Benutzer erstellt wird, sondern Berechtigungen für den Benutzer festgelegt werden, den Sie in Kürze erstellen werden.

Normalerweise erstellen Sie zuerst einen neuen Benutzer und geben dann in diesem Teil des Formulars Berechtigungen für ihn an. Da noch kein Benutzer vorhanden ist, richten Sie die Berechtigungen ein und erstellen Sie den Benutzer.

Geben Sie einen Benutzernamen ein und drücken Sie * Hinzufügen *. Aufgrund eines known bug wird empfohlen, die Benutzernamen in Kleinbuchstaben zu halten. Erteilen Sie dem neuen Benutzer alle Berechtigungen wie dem anonymen Benutzer. Dies richtet im Wesentlichen einen neuen Administrator ein.

Wenn Sie fertig sind, drücken Sie * Übernehmen * und dann * Speichern *.

Sie werden automatisch zu einer Anmeldeseite weitergeleitet, auf der Sie ein neues Konto erstellen können. Der Benutzername des von Ihnen erstellten Kontos sollte dem entsprechen, für den Sie zuvor Berechtigungen festgelegt haben:

image: http: //i.imgur.com/e0U0PKd.png [Anmelden bei Ihrer Jenkins-Instanz]

Wenn Sie fertig sind, sollten Sie sich automatisch angemeldet fühlen.

Kehren Sie zur Sicherheitsseite zurück (* Jenkins verwalten * → * Globale Sicherheit konfigurieren *) und scrollen Sie nach unten zur Sicherheitsmatrix. Nachdem Sie einen Administrator erstellt haben, können Sie die Berechtigungen für den anonymen Benutzer einschränken. Deaktivieren Sie alle Berechtigungen in der anonymen Zeile und klicken Sie dann auf * Übernehmen * und * Speichern *. Ihr neuer Benutzer ist jetzt der einzige Benutzer mit Zugriff auf Jenkins.

Wenn Sie die automatische Anmeldung früher deaktiviert haben, müssen Sie möglicherweise zusätzliche neue Benutzer manuell erstellen. Hier ist wie:

Kehren Sie zur Seite * Jenkins verwalten * zurück, scrollen Sie nach unten und klicken Sie auf * Benutzer verwalten . Links sehen Sie eine Seitenleiste mit Links. Klicken Sie auf * Benutzer erstellen *. Geben Sie die Informationen für den neuen Benutzer auf die gleiche Weise ein, wie Sie den ersten Benutzer erstellt haben, und klicken Sie auf * Anmelden *. Sie werden zur Liste der Benutzer weitergeleitet, die nun den neuen Benutzer enthält. Dieser Benutzer hat keine Berechtigungen, daher müssen Sie den Berechtigungsprozess wiederholen, indem Sie zu "Globale Sicherheit konfigurieren" wechseln, das Feld "Benutzer / Gruppe hinzufügen" verwenden, um der Matrix eine Zeile hinzuzufügen, Berechtigungen angeben und auf "Übernehmen" klicken * und speichern. Wenn Sie der Einfachheit halber mehrere Benutzer erstellen müssen, erstellen Sie diese alle, bevor Sie mit dem Hinzufügen von Berechtigungen fortfahren.

Bedenken Sie beim Erstellen neuer Benutzer, dass Einschränkungen ein wichtiger Sicherheitsfaktor sein können. Weitere Informationen zu den spezifischen Vor- und Nachteilen der matrixbasierten Sicherheit finden Sie im Abschnitt https://wiki.jenkins-ci.org/display/JENKINS/Matrixbasierte+SicherheitsgrenzenMatrixbasierte Sicherheit] des Abschnitts * Jenkins verwenden * Dokumentation.

In der Regel besteht der nächste Schritt darin, den Benutzern Rollen zuzuweisen und ihre genauen Fähigkeiten zu steuern. Wir werden in diesem Artikel nicht auf Details eingehen, aber dies ist ein guter Artikel zu diesem Thema. Achten Sie darauf, Ihre Änderungen zu speichern, nachdem Sie Rollen zugewiesen haben.

Schritt 4 - Plugins installieren

Sobald Jenkins installiert, minimal konfiguriert und angemessen gesichert ist, ist es an der Zeit, es an Ihre Bedürfnisse anzupassen. Wie bei der Erstinstallation festgestellt, verfügt Jenkins über relativ wenige Fähigkeiten. Tatsächlich steht Jenkins für das Credo vieler Softwareentwickler: Tun Sie eines und tun Sie es gut. Jenkins „macht eine Sache“, indem er als Vermittler für Ihre Softwareprojekte fungiert, und „macht es gut“, indem er Plugins bereitstellt.

Plugins sind Add-Ons, die es Jenkins ermöglichen, mit einer Vielzahl externer Software zu interagieren oder ihre Fähigkeiten auf andere Weise zu erweitern. Wie in vielen Bereichen des Jenkins-Setups hängen die genauen Plugins, die Sie installieren, erheblich von Ihren Projekten ab.

Klicken Sie im linken Hauptmenü in Jenkins auf * Jenkins verwalten * → * Plugins verwalten. * Auf der Seite, auf der Sie landen, werden Plugins angezeigt, die bereits installiert sind, jedoch aktualisiert werden müssen. Wählen Sie dazu einfach die Plugins aus, die Sie aktualisieren möchten und klicken Sie auf die Schaltfläche unten.

Wenn Sie auf dieser Seite auf "Verfügbar" klicken, werden Sie zu einer riesigen Liste der verfügbaren Plugins weitergeleitet. Offensichtlich möchten Sie nicht alle möglichen Plugins installieren. Die nächste Frage lautet daher, wie Sie die Plugins auswählen, die Sie benötigen.

Wie bereits erwähnt, hängt Ihre Wahl in dieser Angelegenheit von Ihren Bedürfnissen und Zielen ab. Glücklicherweise bietet das Jenkins-Wiki eine schöne Übersicht der Plugins nach Themen.

Diese Liste ist definitiv eine Lektüre wert, aber unabhängig von Ihrem Projekt gibt es einige Plugins, die Sie mit ziemlicher Sicherheit einschließen sollten. Hier sind einige - einige generische, einige spezifische:

  1. * Quellcodeverwaltung *
    Git, SVN und Team Foundation Server sind einige der gebräuchlichsten Versionsverwaltungssysteme. Alle drei haben Plugins in der Jenkins-Liste, andere gibt es auch für weniger verbreitete Systeme. Wenn Sie nicht wissen, was Quellcodeverwaltung ist, sollten Sie wirklich learn about it und damit beginnen, sie in Ihre Projekte aufzunehmen. Stellen Sie sicher, dass Sie das Plugin für Ihr Quellcodeverwaltungssystem installieren, damit Jenkins Builds ausführen und Tests steuern kann.

  2. * Artefakt kopieren *
    Mit diesem Plug-In können Sie Komponenten zwischen Projekten kopieren. Dies erleichtert das Einrichten ähnlicher Projekte, wenn Sie keinen echten Abhängigkeitsmanager haben.

  3. * Throttle Concurrent Builds *
    Wenn mehrere Builds ausgeführt werden, die möglicherweise zu einem Konflikt führen (aufgrund von gemeinsam genutzten Ressourcen usw.), können Sie dieses Problem auf einfache Weise beheben.

  4. * Abhängigkeitsgraph Viewer *
    Ein elegantes Plugin, das eine grafische Darstellung Ihrer Projektabhängigkeiten bietet.

  5. * Jenkins Disk Usage *
    Jenkins mag ziemlich leicht sein, aber das gilt nicht immer für die Projekte, in die es integriert ist. Mit diesem Plug-In können Sie feststellen, wie viel Ihrer Computerressourcen für einen Ihrer Aufträge erforderlich sind.

  6. * Build-Tools *
    Wenn Ihr Projekt groß ist, verwenden Sie wahrscheinlich einen Build-Manager wie Maven oder Ant. Jenkins bietet Plugins für viele von ihnen, um sowohl ihre Grundfunktionen zu verknüpfen als auch die Kontrolle über einzelne Build-Schritte, die Projektionskonfiguration und viele andere Aspekte Ihrer Builds zu übernehmen.

  7. * Berichterstattung *
    Während Jenkins eigene Berichte bereitstellt, können Sie diese Funktionalität auf viele Berichterstellungstools ausweiten.

  8. * Zusätzliche Authentifizierung *
    Wenn die standardmäßigen Jenkins-Sicherheitsfunktionen nicht zu Ihnen passen, gibt es zahlreiche Plug-ins, mit denen Sie dies erweitern können - von Google-Anmeldungen über Active Directory bis hin zu einfachen Änderungen an der vorhandenen Sicherheit.

Wenn für Ihr Projekt ein bestimmtes Tool erforderlich ist, durchsuchen Sie die Seite mit der Plug-in-Liste im Wiki im Allgemeinen nach dem Namen des Plug-ins oder nach einem Schlüsselwort bezüglich seiner Funktion. Möglicherweise ist ein solches Plug-in vorhanden, und dies ist ein effizienter Weg, um es zu finden.

Sobald Sie die Plugins ausgewählt haben, die Sie auf der Registerkarte * Verfügbar * installieren möchten, klicken Sie auf die Schaltfläche * Jetzt herunterladen und nach dem Neustart installieren *.

Jetzt, da Jenkins so läuft, wie Sie es möchten, können Sie damit beginnen, Ihre Projektintegration voranzutreiben. Die Möglichkeiten von Jenkins sind innerhalb seiner Domäne nahezu unbegrenzt. Das folgende Beispiel soll jedoch zeigen, inwieweit Jenkins in der Lage ist und wie man einen Jenkins-Job in Angriff nimmt.

Schritt 5 - Ein einfaches Projekt erstellen

Es gibt viele interessante Anwendungen, die Sie aus Jenkins herausholen können, und selbst das Herumspielen mit den Einstellungen kann informativ sein. Zu Beginn ist es jedoch hilfreich zu verstehen, wie eine grundlegende Aufgabe eingerichtet wird. Befolgen Sie das Beispiel in diesem Abschnitt, um zu erfahren, wie Sie einen einfachen Job einrichten und ausführen.

Wählen Sie auf der Startseite der Jenkins-Benutzeroberfläche * New Item * aus. Geben Sie einen Namen ein und wählen Sie * Freestyle-Projekt *.

image: https://assets.digitalocean.com/articles/jenkins_centos_7/new_project.png [Erstellen eines neuen Projekts in Jenkins]

Auf dieser nächsten Seite legen Sie die Auftragskonfiguration fest. Wie Sie schnell feststellen werden, stehen beim Erstellen eines neuen Projekts eine Reihe von Einstellungen zur Verfügung. Im Allgemeinen ist es eines der wichtigsten Steuerelemente, eine Verbindung zu einem Quellrepo herzustellen. In diesem Einführungsbeispiel überspringen wir diesen Schritt.

Auf dieser Konfigurationsseite können Sie auch Erstellungsschritte hinzufügen, um zusätzliche Aktionen wie das Ausführen von Skripten auszuführen.

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/build_step.png [Hinzufügen eines Build-Schritts zu einem Projekt in Jenkins]

Sie erhalten ein Textfeld, in das Sie die gewünschten Befehle einfügen können. Verwenden Sie diese Option, um verschiedene Aufgaben wie Serverwartung, Versionskontrolle, Lesen von Systemeinstellungen usw. auszuführen.

In diesem Abschnitt führen wir ein Skript aus. Zu Demonstrationszwecken halten wir es wiederum äußerst einfach.

image: https: //assets.digitalocean.com/articles/jenkins_centos_7/shell_command.png [Hinzufügen eines grundlegenden Shell-Befehls zu einem Projekt in Jenkins]

Wenn Sie möchten, können Sie auch nachfolgende Erstellungsschritte hinzufügen. Beachten Sie, dass der gesamte Build fehlschlägt, wenn ein Segment oder ein einzelnes Skript fehlschlägt.

Sie können auch Aktionen nach dem Erstellen auswählen, die ausgeführt werden sollen, z. B. das Senden der Ergebnisse per E-Mail an sich selbst.

Speichern Sie das Projekt und Sie gelangen zur Projektübersichtsseite. Hier können Sie Informationen über das Projekt, einschließlich der erstellten Geschichte, sehen, obwohl dies im Moment nicht der Fall ist, da es sich um ein brandneues Projekt handelt.

Klicken Sie auf der linken Seite auf "Jetzt erstellen", um den Build zu starten. Sie werden momentan sehen, wie sich der Buildverlauf ändert, um anzuzeigen, dass er funktioniert. Wenn Sie fertig sind, ändert sich das Statussymbol erneut und zeigt Ihnen die Ergebnisse in einer übersichtlichen Form an.

Um weitere Informationen zu erhalten, klicken Sie im Bereich "Build-Verlauf" auf dieses Build. Daraufhin wird eine Seite mit einer Übersicht über die Build-Informationen angezeigt:

Der Link * Konsolenausgabe * auf dieser Seite ist besonders nützlich, um die Ergebnisse des Jobs im Detail zu untersuchen. Er enthält Informationen zu den Aktionen, die während des Builds ausgeführt wurden, und zeigt die gesamte Konsolenausgabe an. Insbesondere nach einem fehlgeschlagenen Build kann dies ein nützlicher Ort sein, um nachzuschauen.

Wenn Sie zu Jenkins nach Hause zurückkehren, sehen Sie eine Übersicht aller Projekte und ihrer Informationen, einschließlich des Status (in diesem Fall gibt es nur den einen):

image: https://assets.digitalocean.com/articles/jenkins_centos_7/status.png [Übersicht aller Projekte und deren Status in Jenkins]

Der Status wird auf zwei Arten angezeigt: durch ein Wettersymbol (im Dashboard der Startseite, siehe oben) und durch einen farbigen Ball (auf der einzelnen Projektseite, siehe unten). Das Wettersymbol ist besonders hilfreich, da es mehrere Builds in einem Bild aufzeichnet.

In der Abbildung oben sehen Sie Wolken, die darauf hinweisen, dass einige der letzten Builds erfolgreich waren und einige fehlgeschlagen sind. Wenn alle erfolgreich waren, sehen Sie das Bild einer Sonne. Wenn alle Builds kürzlich fehlgeschlagen wären, gäbe es ein schlechtes Wettersymbol.

Diese Status haben entsprechende QuickInfos mit Erläuterungen zum Schwebeflug und decken zusammen mit den anderen Informationen in der Tabelle das meiste ab, was Sie in einer Übersicht benötigen.

Sie können das Projekt auch von hier aus neu erstellen, indem Sie auf (* Jetzt erstellen *) klicken.

Bild: https://assets.digitalocean.com/articles/jenkins_centos_7/build_statuses.png [Jenkins-Projektseite mit Projekterstellungsstatus]

Die Implementierung eines vollständigen Projekt-Setups erfordert natürlich einige weitere Schritte und einige Feinabstimmungen. Es ist jedoch klar, dass Sie ohne großen Aufwand einige sehr nützliche, sehr pragmatische Monitore und Steuerungen für Ihre Projekte einrichten können. Entdecken Sie Jenkins und Sie werden schnell feststellen, dass es ein unschätzbares Werkzeug ist.

Fazit

Es lohnt sich sehr, nach anderen Tutorials, Artikeln und Videos zu suchen - es gibt viele, und die Fülle an Informationen macht es praktisch zum Kinderspiel, die Projektintegration mit Jenkins einzurichten. Die vom Jenkins-Team bereitgestellten tutorials sind einen Blick wert.

Insbesondere die Überbrückung der Lücke zwischen Grundlagen und vollwertigen Projekten ist eine großartige Möglichkeit, Ihre Jenkins-Fähigkeiten zu verbessern. Versuchen Sie, diese Beispiele zu befolgen, um diesen Übergang zu vereinfachen.

Darüber hinaus gibt es viele Vorlagen für gängige Projekttypen, z. B. PHP applications und http://www.codementality.com/blog/setting-jenkins-template-drupal-testing- ci-budget-part-2 [Drupal], so stehen die Chancen gut, dass Sie nicht einmal alles von Grund auf neu einrichten müssen. Also geh raus, lerne alles, was du über Jenkins wagst, und mache dein Leben so viel einfacher!

Related