Jenkins Pipeline

Die neue Pipeline Funktion von Jenkins kann mit Jenkins 1.x und 2.x verwendet werden. Bei Jenkins 2.x gibt es aber auch noch ein Plugin um die einzelnen Stages in einer View zu visualisieren. Für die Pipeline gibt es auch einen Snippet Generator unter http://localhost:8080/jenkins/job/Pipelinetest/pipeline-syntax/. Mit dessen Hilfe kann man für die meisten Anwendungsfälle Snippets generieren und diese dann nach den eigenen Anforderungen anpassen. Der Beispiel Code für einen Github checkout und Maven aufruf sieht dabei wie folgt aus:

node {
// Mark the code checkout ‘stage’….
stage ‘Checkout’
// Get some code from a GitHub repository
git url: ‘https://github.com/jglick/simple-maven-project-with-tests.git'
// Get the maven tool.
// ** NOTE: This ‘M3’ maven tool must be configured
// ** in the global configuration.
def mvnHome = tool ‘M3’
// Mark the code build ‘stage’….
stage ‘Build’
// Run the maven build
sh “${mvnHome}/bin/mvn -Dmaven.test.failure.ignore clean package”
step([$class: ‘JUnitResultArchiver’, testResults: ‘*/target/surefire-reports/TEST-.xml’])
}

Dabei sieht man auch die Änderungen bei Jenkins 2, das Thirdparty Komponenten wie Maven über Variablen und nicht mehr über Pfad Angaben in der Konfiguration gemanagt werden. Die „stage“ aufrufe bilden dabei die einzelnen Schritte welche auch in der Stage View sichtbar sind.