Seit 2017.02.03 kann Declarative Pipeline Syntax 1.0 verwendet werden, diesen Beitrag Build-Schritt-Funktionalität zu erreichen.
Es ist eine neue Syntax zum Erstellen von Pipelines, die Pipeline mit einer vordefinierten Struktur und einigen neuen Schritten erweitert, die es Benutzern ermöglichen, Agenten, Postaktionen, Umgebungseinstellungen, Anmeldeinformationen und Phasen zu definieren.
ist hier eine Probe Jenkinsfile mit deklarative Syntax:
pipeline {
agent label:'has-docker', dockerfile: true
environment {
GIT_COMMITTER_NAME = "jenkins"
GIT_COMMITTER_EMAIL = "[email protected]"
}
stages {
stage("Build") {
steps {
sh 'mvn clean install -Dmaven.test.failure.ignore=true'
}
}
stage("Archive"){
steps {
archive "*/target/**/*"
junit '*/target/surefire-reports/*.xml'
}
}
}
post {
always {
deleteDir()
}
success {
mail to:"[email protected]", subject:"SUCCESS: ${currentBuild.fullDisplayName}", body: "Yay, we passed."
}
failure {
mail to:"[email protected]", subject:"FAILURE: ${currentBuild.fullDisplayName}", body: "Boo, we failed."
}
}
}
Der Post Codeblock ist, was das Beitrag Schritt Aktion
deklarative Pipeline Syntax Referenz here
Bonuspunkte behandelt ist für 'TimestamperBuildWrapper', wusste ich nicht, dass es existierte –
Ich benutzte 'try {} schließlich {}' an einigen Stellen in meinem Jenkinsfile und es hat wunderbar funktioniert. Ich möchte auch darauf hinweisen, dass try/catch/finally-Blöcke ** nicht ** in eine separate Funktion oder Wrapper-Funktion aufgeteilt werden müssen - sie funktionieren überall in einer Skript-Pipeline problemlos. – jayhendren