GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Jenkins Shared Library:Erstellen, Konfigurieren und Verwenden

Einführung

Jenkins ist ein Open-Source-Automatisierungsserver für Softwareentwickler. Benutzer können wiederholbare Elemente erstellen und verwalten, die die Softwareentwicklung und -bereitstellung unkomplizierter und effizienter machen. Eines dieser Elemente sind gemeinsam genutzte Jenkins-Bibliotheken.

In diesem Tutorial definieren wir, was gemeinsam genutzte Jenkins-Bibliotheken sind, und erklären, wie Sie sie in der Softwareentwicklung erstellen, verwalten und verwenden können.

Voraussetzungen

  • Eine installierte und einsatzbereite Kopie von Jenkins (erfahren Sie, wie Sie Jenkins unter Windows 10, Ubuntu 18.04, Debian 10, CentOS 8 installieren oder Jenkins auf einem Kubernetes-Cluster installieren)
  • Zugriff auf einen Webbrowser

Was ist eine gemeinsame Bibliothek in Jenkins?

Eine gemeinsam genutzte Bibliothek in Jenkins ist eine Sammlung von Groovy-Skripten, die von verschiedenen Jenkins-Jobs gemeinsam genutzt werden. Um die Skripte auszuführen, werden sie in eine Jenkins-Datei gezogen.

Für jede gemeinsam genutzte Bibliothek müssen Benutzer einen Namen und eine Methode zum Abrufen des Quellcodes definieren. Zu diesen Methoden gehören lokale Dateien, Git-Repositories und Jenkins-SCM-Plug-ins. Optional können Benutzer auch eine Standardbibliotheksversion festlegen.

Warum eine gemeinsam genutzte Jenkins-Bibliothek verwenden?

Entwickler verwenden gemeinsam genutzte Bibliotheken, um zu vermeiden, denselben Code für mehrere Projekte von Grund auf neu zu schreiben. Gemeinsam genutzte Bibliotheken teilen Code über Entwicklungsprojekte hinweg und optimieren so den Lebenszyklus der Softwareentwicklung. Dies reduziert den Zeitaufwand für die Codierung drastisch und hilft, doppelten Code zu vermeiden.

Das Erstellen einer gemeinsam genutzten Bibliothek vereinfacht auch das Pushen von Quellcodeaktualisierungen für ein Projekt. Das Aktualisieren des Quellcodes der Bibliothek aktualisiert auch den Code jedes Projekts, das die Bibliothek verwendet.

Wie erstelle ich eine gemeinsam genutzte Bibliothek in Jenkins?

Das Erstellen einer gemeinsam genutzten Bibliothek in Jenkins umfasst die folgenden Schritte.

Schritt 1:Erstellen Sie ein Groovy-Skript

Erstellen Sie zunächst ein Groovy-Skript mit dem Code, den Sie in der Bibliothek speichern möchten.

Das folgende Groovy-Skript erstellt beispielsweise eine Begrüßungsfunktion, die Hello ausgibt und einen benutzerdefinierten name Parameter als Ausgabe:

#!/usr/bin/env groovy

def call(String name = 'human') {
  echo "Hello, ${name}."
}

Schritt 2:Skript zu einem Git-Repository hinzufügen

Erstellen Sie ein neues Git-Repository mit einem Verzeichnis namens vars . Speichern Sie das Skript in den vars Verzeichnis als sayHello.groovy .

Schritt 3:Fügen Sie eine gemeinsam genutzte Bibliothek in Jenkins hinzu

1. Öffnen Sie das Jenkins-Dashboard in Ihrem Webbrowser.

2. Klicken Sie auf Jenkins verwalten Link auf der linken Seite des Jenkins-Dashboards.

3. Unter Systemkonfiguration , klicken Sie auf System konfigurieren Schaltfläche.

4. Scrollen Sie nach unten zu den Global Pipeline Libraries Abschnitt und klicken Sie auf Hinzufügen Schaltfläche.

5. Ein neues Dialogfeld wird geöffnet, in dem Sie aufgefordert werden, Bibliotheksdetails wie Name und SCM-Methode einzurichten. Geben Sie die Details ein, um die Bibliothek zu konfigurieren:

  • Name: Der Name der neuen gemeinsam genutzten Bibliothek.
  • Standardversion: Legen Sie eine Standardversion für die neue gemeinsam genutzte Bibliothek fest. Je nach SCM kann dies ein Branch-Name, Tag, Commit-Hash usw. sein.
  • Implizit laden: Wenn Sie diese Option aktivieren, können Skripte automatisch auf die Bibliothek zugreifen, ohne sie anfordern zu müssen.
  • Überschreiben der Standardversion zulassen: Wenn Sie diese Option aktivieren, können Skripte eine benutzerdefinierte Version der Bibliothek auswählen.
  • Änderungen der @Library in die letzten Jobänderungen aufnehmen: Wenn Sie diese Option aktivieren, wirken sich Änderungen an der Bibliothek auf alle Builds aus, die die Bibliothek verwenden.
  • Zwischenspeichern Sie abgerufene Versionen auf dem Master für einen schnellen Abruf: Durch Aktivieren dieser Option werden von Jenkins abgerufene Versionen dieser Bibliothek auf dem Master zwischengespeichert.
  • Abrufmethode: Wählen Sie Modern SCM (bei Verwendung von Jenkins SCM-Plugins) oder Legacy SCM (bei Verwendung von SCM-Methoden, die nicht in Jenkins integriert sind) aus dem Dropdown-Menü aus. Wenn Sie Modernes SCM auswählen, können Sie ein SCM-Plugin auswählen und relevante Optionen konfigurieren.
  • Bibliothekspfad (optional): Ermöglicht das Festlegen eines relativen Pfads vom SCM-Stamm zum Stamm des Bibliotheksverzeichnisses.

6. Wenn Sie mit der Konfiguration der neuen Bibliothek fertig sind, klicken Sie auf Speichern Schaltfläche, um die Änderungen in Jenkins zu speichern.

Schritt 4:Verwenden Sie eine gemeinsam genutzte Bibliothek in einer Jenkins-Pipeline

Nachdem Sie die gemeinsam genutzte Bibliothek aus dem Git-Repository zu Jenkins hinzugefügt haben, können Sie in Ihren Pipeline-Skripts darauf verweisen.

1. Erstellen Sie ein neues Pipeline-Element in Jenkins. Geben Sie den Namen des Elements ein und wählen Sie Pipeline aus als Projekttyp. Klicken Sie abschließend auf OK.

2. Fügen Sie ein einfaches Skript hinzu, das die gemeinsam genutzte Bibliothek lädt. Wir haben Alex verwendet als name Parameter:

@Library('pipeline-library-demo')_

 stage('Demo') {
     echo 'Hello world'
     sayHello 'Alex'
 }

3. Klicken Sie auf Speichern um die Änderungen an der Pipeline zu speichern.

4. Das Erstellen der Pipeline und das Überprüfen der Konsolenausgabe zeigen, dass die gemeinsam genutzte Bibliothek korrekt geladen wird und mit der Benutzereingabe interagiert:

So laden Sie eine gemeinsam genutzte Bibliothek in eine Pipeline

Wenn eine gemeinsam genutzte Bibliothek nicht implizit geladen wird, bietet Jenkins mehrere Möglichkeiten, mit dem Groovy-Skript darauf zu verweisen.

Fügen Sie oben im Jenkins-Code die folgende Anmerkung hinzu, um manuell auf ein Skript zu verweisen:

@Library('[library name]')_

Hängen Sie das at-Zeichen an (@ ) und Versionsname, um eine bestimmte Version der Bibliothek zu laden:

@Library('[library name]@[library version]')_

Wenn Sie mehrere Bibliotheken gleichzeitig laden möchten, trennen Sie die Namen durch ein Komma-Symbol (, ) und ein Leerzeichen:

@Library(['[library name 1]', '[library name 2]'])_

Eine weitere Möglichkeit besteht darin, gemeinsam genutzte Bibliotheken dynamisch zu laden. Sie können diese Art von Anmerkung überall im Skript platzieren:

library '[library name]'

Es ist auch möglich, eine Bibliothek eines Drittanbieters dynamisch zu laden, die nicht in den Global Pipeline Libraries von Jenkins enthalten ist die Einstellungen. Wenn Sie beispielsweise eine Bibliothek aus Git laden, müssen Sie den Bibliotheksnamen, ein Jenkins-Klassen-Tag, die Git-URL der Bibliothek und gültige Anmeldeinformationen für den Zugriff auf die Bibliothek angeben.

library identifier: '[library name]@[library version]', retriever: modernSCM(
  [$class: 'GitSCMSource',
   remote: '[library Git URL]',
   credentialsId: '[Git credentials]'])

Eine andere Methode besteht darin, direkt auf ein Git-Repository zu verlinken, das eine Bibliothek enthält. Scrollen Sie beim Konfigurieren einer Pipeline nach unten zur Pipeline Abschnitt und wählen Sie das Pipeline-Skript von SCM aus Option aus der Definition Dropdown-Menü.

Nachdem Sie Git ausgewählt haben Option aus dem SCM Drop-down-Menü, fügen Sie die Repository-URL, die Anmeldeinformationen und die Branch-ID hinzu und klicken Sie auf Speichern zu bestätigen.


Ubuntu
  1. Ansible Playbook:So erstellen und konfigurieren Sie Playbooks

  2. Kubernetes Secrets – So erstellen, verwenden und greifen Sie auf Secrets zu

  3. NFS-Docker-Volumes:Erstellen und Verwenden

  4. So erstellen und verwenden Sie Subdomains

  5. Einführung in gemeinsam genutzte Linux-Bibliotheken (So erstellen Sie gemeinsam genutzte Bibliotheken)

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

So installieren und verwenden Sie Jenkins unter Ubuntu 18.04 und 16.04 LTS

So installieren und konfigurieren Sie Jenkins unter CentOS 8 / RHEL 8

So installieren und konfigurieren Sie Jenkins unter Ubuntu

So installieren und konfigurieren Sie Jenkins in Ubuntu 20.04

So konfigurieren und verwenden Sie die Netzwerkbrücke in Ubuntu Linux