Zum Inhalt springen
_CORE
KI & Agentensysteme Unternehmensinformationssysteme Cloud & Platform Engineering Datenplattform & Integration Sicherheit & Compliance QA, Testing & Observability IoT, Automatisierung & Robotik Mobile & Digitale Produkte Banken & Finanzen Versicherungen Öffentliche Verwaltung Verteidigung & Sicherheit Gesundheitswesen Energie & Versorgung Telko & Medien Industrie & Fertigung Logistik & E-Commerce Retail & Treueprogramme
Referenzen Technologien Blog Know-how Tools
Über uns Zusammenarbeit Karriere
CS EN DE
Lassen Sie uns sprechen

CI/CD-Pipeline für Kubernetes mit Jenkins

14. 06. 2017 Aktualisiert: 24. 03. 2026 2 Min. Lesezeit CORE SYSTEMSdevops
Dieser Artikel wurde veröffentlicht im Jahr 2017. Einige Informationen können veraltet sein.
CI/CD-Pipeline für Kubernetes mit Jenkins

Einen Kubernetes-Cluster zu haben, ist die halbe Miete. Die andere Hälfte besteht darin, Code hineinzubekommen – zuverlässig, schnell und automatisch. Wir teilen unsere CI/CD-Pipeline mit Jenkins, die in den letzten Monaten eine dramatische Entwicklung durchlaufen hat.

Von Jenkins Freestyle zu Pipeline-as-Code

Unsere alten Jenkins-Jobs waren Freestyle-Projekte – per Klick konfiguriert in der GUI. Unzuverlässig, nicht reproduzierbar. Jenkins Pipeline hat das geändert: Der gesamte Build-Prozess ist ein Groovy-Skript in einem Jenkinsfile, versioniert direkt im Projekt-Repository.

Jenkins auf Kubernetes

Jenkins selbst läuft im Kubernetes-Cluster. Das Kubernetes-Plugin für Jenkins startet dynamisch Build-Agents als Pods – jeder Build bekommt einen sauberen, isolierten Agent. Keine “verunreinigten” Build-Umgebungen.

Wenn nichts zu bauen ist, läuft nur der Jenkins Master. Keine Kosten für untätige Agents. Bei Spitzenlast skaliert der Cluster automatisch hoch.

Unser Standard-Jenkinsfile

pipeline {
    agent {
        kubernetes {
            yaml |-
              apiVersion: v1
              kind: Pod
              spec:
                containers:
                - name: maven
                  image: maven:3.5-jdk-8
                - name: docker
                  image: docker:17.06
        }
    }
    stages {
        stage('Build') {
            steps { container('maven') { sh 'mvn clean package' } }
        }
        stage('Docker Build') {
            steps {
                container('docker') {
                    sh "docker build -t registry.core.cz/app:${BUILD_NUMBER} ."
                    sh "docker push registry.core.cz/app:${BUILD_NUMBER}"
                }
            }
        }
        stage('Deploy') {
            steps {
                sh "helm upgrade --install app ./chart --set image.tag=${BUILD_NUMBER}"
            }
        }
    }
}

Deployment-Strategie

Für Staging: automatisches Deployment nach jedem erfolgreichen Build. Für Produktion: ein manueller Freigabeschritt in der Jenkins Pipeline. Helm upgrade --install gewährleistet ein Rolling Update ohne Downtime.

Rollback ist einfach: helm rollback release-name revision-number. Helm pflegt eine Revisionshistorie.

Was wir verbessern wollen

  • Canary Deployments – derzeit nur Rolling Updates
  • Automatisierte Smoke-Tests nach dem Deployment
  • Image Vulnerability Scanning in der Pipeline
  • GitOps-Ansatz – Deployment ausgelöst durch Änderungen in Git

CI/CD ist der Schlüssel zu agilem Kubernetes

Kubernetes ohne automatisiertes CI/CD ist wie ein Rennwagen ohne Treibstoff. Jenkins mit Pipeline-as-Code und dem Kubernetes-Plugin ermöglicht es uns, täglich Dutzende von Services mit Zuversicht zu deployen.

ci/cdjenkinskuberneteshelm
Teilen:

CORE SYSTEMS

Wir bauen Kernsysteme und KI-Agenten, die den Betrieb am Laufen halten. 15 Jahre Erfahrung mit Enterprise-IT.

Brauchen Sie Hilfe bei der Implementierung?

Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.

Kontaktieren Sie uns
Brauchen Sie Hilfe bei der Implementierung? Termin vereinbaren