CI/CD-Pipeline mit Git, Jenkins & Kubernetes

Blog

CI/CD-Pipeline mit Git, Jenkins & Kubernetes

In diesem Artikel werde ich Continuous Integration & Continuous Deployment mit Jenkins, Git und Kubernetes demonstrieren. Bevor Sie beginnen, wollen wir uns auch einen kleinen Überblick über diese drei beliebten Technologien verschaffen.



Jenkins:

Bild für Beitrag

Jenkins-Logo



Jenkins ist ein in Java geschriebenes Open-Source-Automatisierungstool mit Plugins, die für Continuous Integration-Zwecke entwickelt wurden. Jenkins wird verwendet, um Ihre Softwareprojekte kontinuierlich zu erstellen und zu testen, wodurch es Entwicklern einfacher wird, Änderungen in das Projekt zu integrieren, und es Benutzern erleichtert, einen neuen Build zu erhalten.

Gehen :

Bild für Beitrag



Go-Logo

Anmeldung für Avast Antivirus-Konto

Git ist ein verteiltes Versionskontrollsystem zum Verfolgen von Änderungen im Quellcode während der Softwareentwicklung. Es wurde für die Koordinierung der Arbeit zwischen Programmierern entwickelt, kann jedoch verwendet werden, um Änderungen in beliebigen Dateien zu verfolgen. Zu seinen Zielen gehören Geschwindigkeit, Datenintegrität und Unterstützung für verteilte, nichtlineare Workflows.

Gouverneure:

Bild für Beitrag

wo kann man sturmmünze kaufen

Kubernetes-Logo

Kubernetes ist ein Open-Source-Container-Orchestrierungssystem zur Automatisierung der Bereitstellung, Skalierung und Verwaltung von Computeranwendungen. Es wurde ursprünglich von Google entwickelt und wird jetzt von der Cloud Native Computing Foundation gepflegt. Es zielt darauf ab, eine Plattform für die Automatisierung der Bereitstellung, Skalierung und des Betriebs von Anwendungscontainern über Host-Cluster hinweg bereitzustellen. Es funktioniert mit einer Reihe von Container-Tools, einschließlich Docker.

Sehen wir uns also die Problemstellung an:

1. Erstellen Sie mit Dockerfile ein Container-Image, auf dem Jenkins installiert ist. Oder Sie können den Jenkins-Server unter RHEL 8/7 verwenden.

2. Wenn wir dieses Image starten, sollte es automatisch den Jenkins-Dienst im Container starten.

3. Erstellen Sie eine Jobkette von job1, job2, job3 und job4 mit dem Build-Pipeline-Plugin in Jenkins.

4. Job1: Ziehen Sie das GitHub-Repository automatisch, wenn einige Entwickler das Repository auf GitHub übertragen.

5. Job2 :

I) Durch Betrachten des Codes oder der Programmdatei sollte Jenkins automatisch den entsprechenden, vom Sprachinterpreter installierten Image-Container starten, um Code über Kubernetes bereitzustellen (z. B. Wenn der Code von PHP stammt, sollte Jenkins den Container starten, in dem PHP bereits installiert ist).

II) Legen Sie Ihren Pod frei, damit das Testteam den Test am Pod durchführen kann.

III) Machen Sie die Daten persistent (wenn der Server einige Daten wie Protokolle, andere Benutzerinformationen sammelt).

IV) Job 3: Testen Sie Ihre App, ob sie funktioniert oder nicht. Wenn die App nicht funktioniert, senden Sie eine E-Mail mit Fehlermeldungen an den Entwickler und stellen Sie die Anwendung erneut bereit, nachdem der Code vom Entwickler bearbeitet wurde.

Golang-Saite zum Schneiden

Voraussetzungen:

  • Ich verwende RedHat Enterprise Linux 8 als mein Basisbetriebssystem in VirtualBox. Sie können jedes Linux-Betriebssystem verwenden, um diese Aufgabe auszuführen. In meinem Basisbetriebssystem habe ich zwei Hauptprogramme installiert, das erste ist Jenkins und das zweite ist Kubectl (Kubernetes Client). Ich zeige Ihnen, wie Sie beide in wenigen Minuten einstellen.
  • Als nächstes verwende ich Minikube in VirtualBox als Kubernetes-Server. Um eine lokale Konnektivität in meinem System zu erstellen, habe ich einen Host-Only-Adapter erstellt und in meinem System sind Windows10, RHEL8 und Minikube damit verbunden.
  • Schließlich verwende ich Git in meinem Windows-System, um den Code zu entwickeln und auf GitHub hochzuladen.

#git #kubernetes #automation #jenkins #devops

medium.com

CI/CD-Pipeline mit Git, Jenkins & Kubernetes

In diesem Artikel werde ich Continuous Integration & Continuous Deployment mit Jenkins, Git und Kubernetes demonstrieren. Bevor Sie beginnen, wollen wir uns auch einen kleinen Überblick über diese drei beliebten Technologien verschaffen.