DevOps Bootcamp · Lektion

Jenkins Pipeline as Code mit Jenkinsfile

Definieren Sie Build-, Test- und Deployment-Phasen deklarativ in einem in Ihrem Repository versionierten Jenkinsfile, sodass die Pipeline selbst zusammen mit der Anwendung versioniert wird.

Lektion 4 von 413 Schritte

Jenkins Pipeline as Code mit Jenkinsfile ist eine kostenlose DevOps Bootcamp-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Pipeline as Code

Statt Jobs von Hand in der Jenkins-Oberfläche zu konfigurieren, beschreiben Sie die gesamte Pipeline in einer Jenkinsfile, die in Ihrem Repository gespeichert ist. Die Pipeline wird zu Code: überprüfbar, versioniert und portabel.

Deklarativ vs. skriptbasiert

Jenkins bietet zwei Syntaxvarianten. Deklarative Pipelines sind strukturiert und einsteigerfreundlich; skriptbasierte Pipelines verwenden vollständiges Groovy. Wir konzentrieren uns auf die deklarative Variante.

Der pipeline-Block

Jede deklarative Jenkinsfile beginnt mit einem pipeline-Block, der einen agent (den Ausführungsort) und stages enthält.

pipeline {
  agent any
  stages {
    stage('Build') {
      steps { echo 'Building...' }
    }
  }
}

Stages definieren

Jede stage fasst zusammengehörige steps zusammen. Stages erscheinen in der Jenkins-Oberfläche als Spalten und machen den Fortschritt der Pipeline übersichtlich sichtbar.

stages {
  stage('Build') { steps { sh 'make build' } }
  stage('Test')  { steps { sh 'make test' } }
}

Shell-Schritte ausführen

Der sh-Schritt führt einen Shell-Befehl auf dem Agent aus. Verwenden Sie ihn zum Kompilieren von Code, Ausführen von Tests oder Erstellen eines Docker-Images.

steps {
  sh 'docker build -t myapp:${BUILD_NUMBER} .'
}

Umgebungsvariablen

Ein environment-Block definiert Variablen für alle Schritte. Jenkins stellt außerdem integrierte Variablen wie BUILD_NUMBER und GIT_COMMIT bereit.

environment {
  REGISTRY = 'registry.example.com'
  IMAGE    = 'myapp'
}

Credentials-Bindung

Hardcodieren Sie niemals Secrets. Speichern Sie sie in den Jenkins-Credentials und binden Sie sie mit dem Helfer credentials() ein, damit sie in Logs maskiert werden.

environment {
  REG_PASS = credentials('registry-password')
}

Post-Aktionen

Ein post-Block wird nach Abschluss der Stages ausgeführt und kann abhängig vom Ergebnis unterschiedliche Aktionen ausführen. Er eignet sich ideal für Benachrichtigungen und Aufräumarbeiten.

post {
  success { echo 'Pipeline succeeded' }
  failure { echo 'Pipeline failed' }
  always  { sh 'docker image prune -f' }
}

Parallele Stages

Beschleunigen Sie die Pipeline, indem Sie unabhängige Aufgaben mit parallel gleichzeitig ausführen – zum Beispiel Unit- und Integrationstests.

stage('Tests') {
  parallel {
    stage('Unit') { steps { sh 'make unit' } }
    stage('Integration') { steps { sh 'make int' } }
  }
}

Bedingte Stages

Die when-Direktive führt eine Stage nur aus, wenn eine Bedingung erfüllt ist – zum Beispiel eine Bereitstellung nur im Main-Branch.

stage('Deploy') {
  when { branch 'main' }
  steps { sh './deploy.sh' }
}

Multibranch-Pipelines

Verweisen Sie Jenkins auf ein Repository. Jenkins erkennt dann jeden Branch mit einer Jenkinsfile und erstellt automatisch eine Pipeline pro Branch. Feature-Branches erhalten dadurch automatisch CI.

Kurztest

Wo befindet sich die Definition einer deklarativen Pipeline?

Zusammenfassung

Sie haben gelernt, Pipelines als Code zu definieren:

  • pipeline { agent; stages } bildet das deklarative Grundgerüst
  • sh-Schritte führen Befehle aus; environment und credentials() verwalten die Konfiguration
  • post, parallel und when erweitern die Möglichkeiten
  • Multibranch-Pipelines stellen automatisch für jeden Branch CI bereit

Die Jenkinsfile liegt zusammen mit Ihrem Code und entwickelt sich mit ihm weiter.

Kostenlos starten

Lerne DevOps Bootcamp mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
142
Lektionen
568

Häufig gestellte Fragen

Ist die Lektion „Jenkins Pipeline as Code mit Jenkinsfile“ kostenlos?

Ja — der vollständige Text von „Jenkins Pipeline as Code mit Jenkinsfile“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Jenkins Pipeline as Code mit Jenkinsfile“?

Definieren Sie Build-, Test- und Deployment-Phasen deklarativ in einem in Ihrem Repository versionierten Jenkinsfile, sodass die Pipeline selbst zusammen mit der Anwendung versioniert wird. Du übst DevOps Bootcamp mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Jenkins Pipeline as Code mit Jenkinsfile“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Einführung in Jenkins
  2. Docker-Images mit Jenkins erstellen
  3. Automatisierte Bereitstellung mit Jenkins
  4. Jenkins Pipeline as Code mit Jenkinsfile
← Zurück zu DevOps Bootcamp