Trying to switch to declarative pipeline syntax
-def labels = 'ubuntu'
-def buildJdk = 'JDK 1.8 (latest)'
-def buildMvn = 'Maven 3.5.2'
-def deploySettings = 'DefaultMavenSettingsProvider.1331204114925'
+LABEL = 'ubuntu'
+buildJdk = 'JDK 1.8 (latest)'
+buildMvn = 'Maven 3.5.2'
+deploySettings = 'DefaultMavenSettingsProvider.1331204114925'
+REPO_DIR = "${env.JENKINS_HOME}/.repo-${env.JOB_NAME.replace('/', '_')}"
-node(labels) {
+pipeline {
+ stages {
+ agent {
+ label "${LABEL}"
+ }
+
+ environment {
+ REPO_DIR = "${env.JENKINS_HOME}/.repo-${env.JOB_NAME.replace('/', '_')}"
+ }
- def PWD = pwd()
- def REPO_DIR = "${env.JENKINS_HOME}/.repo-${env.JOB_NAME.replace('/', '_')}"
- echo "Info: Job-Name=${JOB_NAME}, Branch=${BRANCH_NAME}, Workspace=${PWD}, Repo-Dir=${REPO_DIR}"
stage('Checkout') {
- checkout scm
+ steps {
script {
currentBuild.displayName = "Archiva master build"
currentBuild.description = "This builds, tests and deploys the current artifact from archiva master branch."
+ echo "Info: Job-Name=${JOB_NAME}, Branch=${BRANCH_NAME}, Workspace=${PWD}, Repo-Dir=${REPO_DIR}"
+ }
+ checkout scm
}
post {
failure {
@@ -23,6 +32,7 @@ node(labels) {
}
stage('Build') {
+ steps {
timeout(120) {
withMaven(maven: buildMvn, jdk: buildJdk,
mavenSettingsConfig: deploySettings,
@@ -46,6 +56,7 @@ node(labels) {
sh "mvn clean install -B -U -e -fae -Dmaven.test.failure.ignore=true -T2 -Dmaven.compiler.fork=false -Pci-build"
}
}
+ }
post {
success {
junit testDataPublishers: [[$class: 'StabilityTestDataPublisher']], '**/target/surefire-reports/TEST-*.xml'
@@ -58,6 +69,7 @@ node(labels) {
}
stage('Deploy') {
+ steps {
timeout(120) {
withMaven(maven: buildMvn, jdk: buildJdk,
mavenSettingsConfig: deploySettings,
@@ -67,6 +79,7 @@ node(labels) {
sh "mvn deploy -B -Dmaven.test.skip=true"
}
}
+ }
post {
failure {
notifyBuild("Deploy failure")
@@ -80,6 +93,7 @@ node(labels) {
}
}
}
+}
// Send a notification about the build status
def notifyBuild(String buildStatus) {
