Jenkins-Freestyle-Jobs dienten uns jahrelang gut. Aber bei 50 Projekten und zunehmend komplexen Builds wurden sie unwartbar. Jenkins Pipeline brachte Build-Pipelines, die als Code in einem Jenkinsfile definiert werden — versioniert, reviewt, reproduzierbar.
Pipeline as Code¶
pipeline {
agent any
stages {
stage('Build') {
steps { sh 'mvn clean compile' }
}
stage('Test') {
steps { sh 'mvn test' }
post { always { junit 'target/surefire-reports/*.xml' } }
}
stage('Package') {
steps {
sh 'mvn package -DskipTests'
archiveArtifacts 'target/*.war'
}
}
stage('Deploy to Staging') {
when { branch 'develop' }
steps { sh './deploy.sh staging' }
}
}
}
Shared Libraries und Multibranch¶
Eine gemeinsame Bibliothek core-pipeline-lib mit Funktionen wie deployToEnvironment() und runSonarAnalysis(). Multibranch Pipeline erkennt Branches automatisch — ein Feature Branch bekommt einen automatischen Build.
Das Jenkinsfile gehört in jedes Repository¶
Der Build-Prozess ist Teil des Projekts — versioniert und reviewt. Wenn Sie noch Freestyle-Jobs verwenden, migrieren Sie auf Pipeline.
Brauchen Sie Hilfe bei der Implementierung?
Unsere Experten helfen Ihnen bei Design, Implementierung und Betrieb. Von der Architektur bis zur Produktion.
Kontaktieren Sie uns