Wie man eine CI/CD-Pipeline mit Jenkins aufbaut

Wie man eine CI/CD-Pipeline mit Jenkins aufbaut

  • ITOps & DevOps
6 Minuten Lesezeit Aktualisiert Apr 22, 2025

Auf einen Blick: Das Erstellen einer CI/CD-Pipeline mit Jenkins automatisiert die Softwareentwicklung und verbessert Effizienz und Qualität. Wichtige Schritte umfassen die Installation von Jenkins, die Konfiguration von Pipelines und die Ausführung von Builds mit verschiedenen Plugins für Flexibilität.

  • Jenkins ermöglicht die Visualisierung von Pipeline-Phasen und die Integration mit mehreren Werkzeugen.
  • Beispiele für cloudbasierte CI/CD-Pipelines, wie Azure DevOps, veranschaulichen optimierte Abläufe.

Eine effektive kontinuierliche Integration (CI) und Continuous Delivery (CD) Pipeline ist für moderne DevOps-Teams unerlässlich, um mit der sich schnell wandelnden Technologielandschaft zurechtzukommen. In Kombination mit agilen Konzepten kann eine feine CI/CD-Pipeline den Softwareentwicklungszyklus optimieren und zu hochwertigerer Software mit schnellerer Bereitstellung führen.

In diesem Artikel werde ich Folgendes besprechen:

Was Sie wissen sollten, bevor Sie Ihre CI/CD-Pipeline aufbauen

Was ist eine CI/CD-Pipeline?

Das Hauptziel einer CI/CD-Pipeline ist die Automatisierung des Softwareentwicklungslebenszyklus (SDLC).

Die Pipeline deckt viele Aspekte eines Softwareentwicklungsprozesses ab, vom Schreiben des Codes und Tests bis hin zur Lieferung und Bereitstellung. Einfach ausgedrückt integriert eine CI/CD-Pipeline Automatisierung und kontinuierliches Monitoring in den Entwicklungslebenszyklus. Diese Art von Pipeline, die alle Phasen des Softwareentwicklungslebenszyklus umfasst und jede Stufe verbindet, wird zusammen als CI/CD-Pipeline bezeichnet.

Sie reduziert manuelle Aufgaben für das Entwicklungsteam , was wiederum die Anzahl menschlicher Fehler reduziert und gleichzeitig schnelle Ergebnisse liefert. All dies trägt zur höheren Produktivität des Delivery-Teams bei.

(Erfahren Sie mehr über Stufen in einer CI/CD-Pipeline, Bereitstellungspipelines und die Rolle von CI/CD.)

Was ist Jenkins?

Jenkins ist ein Open-Source-Server für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD), der die Build-, Test- und Deployment-Phasen der Softwareentwicklung automatisiert. Mit zahlreichen Plugins, die Sie leicht integrieren können, sowie der Auswahl an Werkzeugen, Programmiersprachen und Cloud-Umgebungen ist Jenkins äußerst flexibel und erleichtert die effiziente Entwicklung zuverlässiger Anwendungen.

Warum Jenkins für CI/CD verwenden

Sie fragen sich vielleicht, warum Jenkins eine gute Option für den Aufbau Ihrer CI/CD-Pipeline ist. Hier sind einige der Gründe, warum es beliebt ist:

  • Umfassende Plugin-Unterstützung: Was auch immer du machen möchtest, es gibt wahrscheinlich bereits ein Plugin dafür, das deine Arbeit beschleunigt und vereinfacht.
  • Aktive Open-Source-Community: Lizenzfrei zu sein ist erst der Anfang. Sie wird von einer aktiven Community unterstützt, die Lösungen, Ratschläge, Ideen und Tutorials beisteuert.
  • Plattformunabhängig: Sie sind nicht an ein bestimmtes Betriebssystem gebunden.
  • Skalierbar: Du kannst Knoten nach Bedarf hinzufügen und sogar Builds auf verschiedenen Rechnern mit unterschiedlichen Betriebssystemen ausführen.
  • Integrierbar: Welche Tools Sie auch immer verwenden, Sie können sie wahrscheinlich mit Jenkins verwenden.
  • Bewährt: Jenkins war eines der ersten CI/CD-Tools und ist daher bewährt und zuverlässig.

Beispiel für eine CI/CD-Pipeline von Jenkins

Wie sieht eine CI/CD-Pipeline aus, die mit Jenkins gebaut wurde? Hier ist ein einfacher Prozess der Webanwendungsentwicklung.

CI/CD-Pipeline Jenkins-Beispiel.
Traditionelle CI/CD-Pipeline
  1. Der Entwickler schreibt den Code und legt die Änderungen in ein zentrales Code-Repository ein.
  2. Wenn das Repository eine Änderung erkennt, wird der Jenkins-Server ausgelöst.
  3. Jenkins erhält den neuen Code und führt den automatisierten Build und das Testen durch. Wenn beim Bauen oder Testen Probleme festgestellt werden, informiert Jenkins das Entwicklungsteam automatisch über eine vorkonfigurierte Methode wie E-Mail oder Slack.
  4. Das endgültige Paket wird für die Produktionsbereitstellung auf AWS Elastic Beanstalk, einen Anwendungsorchestrierungsdienst, hochgeladen.
  5. Elastic Beanstalk verwaltet die Bereitstellung der Infrastruktur, die Lastverteilung und die Skalierung des erforderlichen Ressourcentyps wie EC2, RDS oder andere.

Die Werkzeuge, Prozesse und die Komplexität einer CI/CD-Pipeline unterscheiden sich von diesem Beispiel. Vieles hängt von Ihren Entwicklungsanforderungen und den Geschäftsanforderungen Ihrer Organisation ab. Typische Optionen sind eine einfache vierstufige Pipeline und eine mehrstufige parallele Pipeline – einschließlich mehrerer Builds, verschiedener Testphasen (Rauchtest, Regressionstest, Nutzerakzeptanztest) und einer Multichannel-Bereitstellung (Web, mobil).

8 Schritte zum Aufbau einer CI/CD-Pipeline mit Jenkins

In diesem Abschnitt zeige ich, wie man eine einfache CI/CD-Pipeline mit Jenkins konfiguriert.

Bevor Sie beginnen, stellen Sie sicher, dass Jenkins mit den erforderlichen Abhängigkeiten korrekt konfiguriert ist. Sie sollten außerdem ein grundlegendes Verständnis der Jenkins-Konzepte haben. In diesem Beispiel ist Jenkins in einer Windows-Umgebung konfiguriert.

Schritt 1: Installieren Sie Jenkins

Laden Sie Jenkins von der offiziellen Website herunter und installieren Sie es. Installieren Sie Jenkins mit folgendem Docker-Befehl:

    docker run -d -p 8080:8080 jenkins/jenkins:lts
Installiere Jenkins, indem du es von der Website herunterlädst.

Schritt 2: Konfigurieren Sie Jenkins und fügen Sie notwendige Plugins hinzu

Die Konfiguration von Jenkins ist eine Frage der Auswahl der benötigten Plugins. Git und Pipeline sind häufig verwendete Tools, die du von Anfang an hinzufügen möchtest.

Konfigurieren Sie die CICD-Pipeline von Jenkins.

Schritt 3: Jenkins öffnen

Melden Sie sich bei Jenkins an und klicken Sie auf "Neuer Artikel".

Öffne Jenkins und erstelle einen Gegenstand.

Schritt 4: Benenne die Pipeline

Wählen Sie im Menü die Option "Pipeline" aus, geben Sie einen Namen für die Pipeline an und klicken Sie auf "OK".

Benennen Sie Ihre CI/CD-Pipeline.

Schritt 5: Konfigurieren Sie die Pipeline

Wir können die CI/CD-Pipeline im Pipeline-Konfigurationsbildschirm konfigurieren. Dort können wir Build-Trigger und andere Optionen für die Pipeline festlegen. Der wichtigste Abschnitt ist der Abschnitt "Pipeline Definition", in dem man die Phasen der Pipeline definieren kann. Pipeline unterstützt sowohl deklarative als auch geskriptete Syntaxen.

(Weitere Details finden Sie in der offiziellen Jenkins-Dokumentation.)

Verwenden wir das Beispiel-Pipeline-Skript "Hello World":

    pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}
Konfigurieren Sie die Pipeline von Jenkins.

Klicken Sie auf Apply and Save. Sie haben eine einfache Pipeline konfiguriert!

Schritt 6: Führen Sie die Pipeline aus

Klicken Sie auf "Jetzt bauen", um die Pipeline auszuführen.

Führe die Pipeline aus.

Dies führt dazu, dass die Pipeline-Stufen ausgeführt werden und das Ergebnis im Abschnitt "Stage View" angezeigt wird. Wir haben nur eine einzelne Pipeline-Stufe konfiguriert, wie hier angegeben:

Pipeline-Phasen werden ausgeführt.

Wir können überprüfen, dass die Pipeline erfolgreich ausgeführt wurde, indem wir die Konsolenausgabe für den Build-Prozess überprüfen.

Überprüfen Sie, ob die Pipeline ausgeführt wurde.

Schritt 7: Erweitern Sie die Pipeline-Definition

Erweitern wir die Pipeline, indem wir zwei weitere Stufen zur Pipeline hinzufügen. Dafür klicken Sie auf die Option "Konfigurieren" und ändern Sie die Pipeline-Definition gemäß dem folgenden Codeblock.

    pipeline {
    agent any

    stages {
        stage('Stage #1') {
            steps {
                echo 'Hello World'
                sleep 10
                echo 'This is the First Stage'
            }
        }
        stage('Stage #2') {
            steps {
                echo 'This is the Second Stage'
            }
        }
        stage('Stage #3') {
            steps {
                echo 'This is the Third Stage'
            }
        }
    }
}

Speichere die Änderungen und klicke auf "Jetzt bauen", um die neue Pipeline auszuführen. Nach erfolgreicher Ausführung können wir jede neue Stufe in der Stage-Ansicht sehen.

Hinzufügen von Stufen zur CI-CD-Pipeline.

Die folgenden Konsolenprotokolle bestätigen, dass der Code wie erwartet ausgeführt wurde:

Ich prüfe, ob Stufen zu einer Pipeline hinzugefügt wurden.

Schritt 8: Visualisieren Sie die Pipeline

Wir können das Plugin "Pipeline Timeline" verwenden, um die Pipeline-Phasen besser zu visualisieren. Installieren Sie einfach das Plugin, und innerhalb der Build-Phase finden Sie eine Option namens "Build Timeline".

Erstelle eine Zeitleiste der CI/CD-Pipeline.

Klicken Sie auf diese Option, und Sie erhalten eine Zeitleiste der Pipeline-Ereignisse, wie unten gezeigt.

Ansicht der CI CD-Pipeline-Ereignisse.

Das war's! Du hast erfolgreich eine CI/CD-Pipeline in Jenkins konfiguriert.

Der nächste Schritt nach der Konfiguration Ihrer Jenkins-Pipeline besteht darin, Jenkins-Pipelines mit Control-M zu orchestrieren – indem Sie Enterprise Scheduling, SLA-Management und Abhängigkeitskoordination für die Produktionsdaten und Anwendungsworkflows hinzufügen, die Jenkins-Deployments auslösen.

  • Externe Code-Repositorien
  • Testrahmen
  • Einsatzstrategien

Viel Glück!

Cloudbasiertes Azure CI/CD-Pipeline-Beispiel

Mit der zunehmenden Verbreitung von Cloud-Technologien ist der wachsende Trend, die DevOps-Aufgaben in die Cloud zu verlagern. Cloud-Service-Anbieter wie Azure und AWS bieten eine vollständige Service-Suite an, um alle erforderlichen DevOps-Aufgaben über ihre jeweiligen Plattformen zu verwalten.

Im Folgenden ist eine einfache cloudbasierte DevOps CI/CD-Pipeline, die vollständig auf Azure (Azure DevOps Services) Tools basiert.

Beispiel für eine Azure CI/CD-Pipeline.
Cloudbasierte CI/CD-Pipeline mit Azure
  1. Ein Entwickler ändert bestehenden Quellcode oder erstellt neuen Quellcode und commitiert die Änderungen dann in Azure Repos.
  2. Diese Repo-Änderungen lösen die Azure-Pipeline aus.
  3. Mit der Kombination von Azure Test Plans erstellt und testet Azure Pipelines die neuen Codeänderungen. (Dies ist der Prozess der kontinuierlichen Integration.)
  4. Azure Pipelines löst dann die Bereitstellung erfolgreich getesteter und gebauter Artefakte in den erforderlichen Umgebungen mit den notwendigen Abhängigkeiten und Umgebungsvariablen aus. (Dies ist der Prozess der kontinuierlichen Bereitstellung.)
  5. Artefakte werden im Azure Artifacts-Dienst gespeichert, der als universelles Repository fungiert.
  6. Azure-Anwendungsüberwachungsdienste bieten den Entwicklern Echtzeit-Einblicke in die bereitgestellte Anwendung, wie Gesundheitsberichte und Nutzungsinformationen.

Zusätzlich zur CI/CD-Pipeline ermöglicht Azure auch die Verwaltung des SDLC mit Azure Boards als agilem Planungstool. Hier haben Sie zwei Möglichkeiten:

  • Manuell eine vollständige CI/CD-Pipeline konfigurieren
  • Wählen Sie eine SaaS-Lösung wie Azure DevOps oder DevOps Tooling by AWS

CI/CD-Pipelines minimieren manuelle Arbeit

Eine richtig konfigurierte Pipeline erhöht die Produktivität des Delivery-Teams, indem sie die manuelle Arbeitslast reduziert und die meisten manuellen Fehler eliminiert und gleichzeitig die Gesamtproduktqualität erhöht. Dies führt letztlich zu einem schnelleren und agileren Entwicklungszyklus, der Endanwendern, Entwicklern und dem gesamten Unternehmen zugutekommt.

Lernen Sie aus den Entscheidungen, die Humana bei der Auswahl einer modernen Mainframe-Entwicklungsumgebung für das Bearbeiten und Debuggen von Code getroffen hat, um deren Geschwindigkeit, Qualität und Effizienz zu verbessern.

play

DevOps-Leitfaden

  1. Was ist DevOps? Eine umfassende Einführung
  2. Eine kurze Geschichte von DevOps
  3. Einführung in die DevOps-Architektur
  4. Automatisierung in DevOps: Warum und wie man DevOps-Praktiken automatisiert
  5. Was ist CI/CD? Kontinuierliche Integration und kontinuierliche Lieferung erklärt
  6. Wie man eine CI/CD-Pipeline mit Jenkins aufbaut
  7. DevOps-Metriken zur Optimierung von CI/CD-Pipelines
  8. Kontinuierliche Liefermetriken
  9. Ist Continuous Integration in Continuous Deployment ein Fortschritt – oder nicht?
  10. Unterschiede zwischen Continuous Integration (CI), Delivery (CD) und Deployment
  11. Quellcode und Versionskontrolle in DevOps
  12. Was ist kontinuierliche Testung?
  13. Testautomatisierungs-Frameworks: Der ultimative Leitfaden
  14. Release Management in DevOps
  15. Erklärt: Monitoring & Telemetrie in DevOps
  16. Anwendungs-Leistungsmanagement in DevOps
  17. DevOps-Orchestrierung im SDLC
  18. Einführung in Datenbank-DevOps
  19. Die Rolle der Microservices in DevOps
  20. Die Rolle der Virtualisierung in DevOps
  21. Container & DevOps: Wie Container in DevOps-Lieferpipelines passen
  22. Was ist eine Containerpipeline?
  23. Was ist eine DevOps-Toolchain?
  24. Verwaltung von Containern und Code für DevOps
  25. Die Rolle von Agile in DevOps
  26. Die Rolle der Cloud in DevOps
  27. Was ist FinDevOps?
  28. Top-DevOps-Trends im Jahr 2022
  29. DevOps-Werte & Prinzipien
  30. DevOps-Kennzahlen und KPIs
  31. DevOps-Ratschläge für kleine, mittlere und große Organisationen
  32. DevOps-Teamstruktur
  33. Top-DevOps-Bücher, die man heute lesen sollte
  34. Buchrezension von The Phoenix Project: DevOps For Everyone
  35. DevOps-Influencer: 11 DevOps-Experten, denen Sie auf Twitter folgen können
  36. GitHub, GitLab, Bitbucket & Azure DevOps: Was ist der Unterschied?
  37. Best Practices: Wie man Anwendungen für Kubernetes architekt
  38. Konfigurationsmanagement in DevOps
  39. DevOps-Verzweigungsstrategien erklärt
  40. DevOps-Jobbezeichnungen, Rollen und Verantwortlichkeiten
  41. Testen in DevOps: Konzepte, Best Practices und mehr
  42. Der vollständige DevOps-Zertifizierungsleitfaden für 2022
  43. Was ist das Kubernetes-Operator-Muster?

Diese Beiträge sind meine eigenen und spiegeln nicht unbedingt die Position, Strategien oder Meinung von BMC wider.

Mehr aus ITOps & DevOps

Interessieren Sie sich für mehr von BMC?

The Brief ist unsere monatliche E-Mail zum Mainframe und zur Enterprise-Orchestrierung: Recherchen, Kundenberichte, Produktnachrichten, Events.

Mit der Registrierung für dieses Angebot bestätigen Sie, dass Sie die Datenschutzrichtlinie von BMC gelesen und zugestimmt haben.

Sie haben The Brief abonniert

Das Briefing umfasst die Mainframe- und Enterprise-Orchestrierung – BMC AMI und Control-M – sowie die Analystenforschung, Kundeneinsätze und Events in beiden Bereichen.