Docker & DevOps Fundamentals · 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 Docker & DevOps Fundamentals-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 Docker & DevOps Fundamentals-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Docker & DevOps Fundamentals-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 Docker & DevOps Fundamentals 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
12
Lektionen
48

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 Docker & DevOps Fundamentals-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Docker & DevOps Fundamentals-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 Docker & DevOps Fundamentals 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 Docker & DevOps Fundamentals zu starten?

Keine Vorkenntnisse erforderlich. Docker & DevOps Fundamentals 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 Docker & DevOps Fundamentals-Lektion Code schreiben und ausführen?

Ja. Jede Docker & DevOps Fundamentals-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 Docker & DevOps Fundamentals