]> source.dussan.org Git - archiva.git/commitdiff
Trying to switch to declarative pipeline syntax
authorMartin Stockhammer <martin_s@apache.org>
Tue, 1 May 2018 12:00:48 +0000 (14:00 +0200)
committerMartin Stockhammer <martin_s@apache.org>
Tue, 1 May 2018 12:00:48 +0000 (14:00 +0200)
Jenkinsfile

index c2620d8108b84593eadc646fa5c7645ce79fd249..861a28afb7bebb51295d8a903c3a119e4b6ef1eb 100644 (file)
@@ -1,82 +1,96 @@
-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) {
-
-    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}"
+pipeline {
+    stages {
+        agent {
+            label "${LABEL}"
+        }
 
-    stage('Checkout') {
-        checkout scm
-        script {
-            currentBuild.displayName = "Archiva master build"
-            currentBuild.description = "This builds, tests and deploys the current artifact from archiva master branch."
+        environment {
+            REPO_DIR = "${env.JENKINS_HOME}/.repo-${env.JOB_NAME.replace('/', '_')}"
         }
-        post {
-            failure {
-                notifyBuild("Checkout failure")
+
+
+        stage('Checkout') {
+            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 {
+                    notifyBuild("Checkout failure")
+                }
             }
         }
-    }
 
-    stage('Build') {
-        timeout(120) {
-            withMaven(maven: buildMvn, jdk: buildJdk,
-                    mavenSettingsConfig: deploySettings,
-                    mavenLocalRepo: REPO_DIR
-            )
-                    {
-                        sh "chmod 755 ./src/ci/scripts/prepareWorkspace.sh"
-                        sh "./src/ci/scripts/prepareWorkspace.sh"
-                        // Needs a lot of time to reload the repository files, try without cleanup
-                        // Not sure, but maybe
-                        // sh "rm -rf .repository"
+        stage('Build') {
+            steps {
+                timeout(120) {
+                    withMaven(maven: buildMvn, jdk: buildJdk,
+                            mavenSettingsConfig: deploySettings,
+                            mavenLocalRepo: REPO_DIR
+                    )
+                            {
+                                sh "chmod 755 ./src/ci/scripts/prepareWorkspace.sh"
+                                sh "./src/ci/scripts/prepareWorkspace.sh"
+                                // Needs a lot of time to reload the repository files, try without cleanup
+                                // Not sure, but maybe
+                                // sh "rm -rf .repository"
 
-                        // Run test phase / ignore test failures
-                        // -B: Batch mode
-                        // -U: Force snapshot update
-                        // -e: Produce execution error messages
-                        // -fae: Fail at the end
-                        // -Dmaven.compiler.fork=false: Do not compile in a separate forked process
-                        // -Dmaven.test.failure.ignore=true: Do not stop, if some tests fail
-                        // -Pci-build: Profile for CI-Server
-                        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'
-                archiveArtifacts '**/target/*.war,**/target/*-bin.zip'
+                                // Run test phase / ignore test failures
+                                // -B: Batch mode
+                                // -U: Force snapshot update
+                                // -e: Produce execution error messages
+                                // -fae: Fail at the end
+                                // -Dmaven.compiler.fork=false: Do not compile in a separate forked process
+                                // -Dmaven.test.failure.ignore=true: Do not stop, if some tests fail
+                                // -Pci-build: Profile for CI-Server
+                                sh "mvn clean install -B -U -e -fae -Dmaven.test.failure.ignore=true -T2 -Dmaven.compiler.fork=false -Pci-build"
+                            }
+                }
             }
-            failure {
-                notifyBuild("Build / Test failure")
+            post {
+                success {
+                    junit testDataPublishers: [[$class: 'StabilityTestDataPublisher']], '**/target/surefire-reports/TEST-*.xml'
+                    archiveArtifacts '**/target/*.war,**/target/*-bin.zip'
+                }
+                failure {
+                    notifyBuild("Build / Test failure")
+                }
             }
         }
-    }
 
-    stage('Deploy') {
-        timeout(120) {
-            withMaven(maven: buildMvn, jdk: buildJdk,
-                    mavenSettingsConfig: deploySettings,
-                    mavenLocalRepo: REPO_DIR
-            )
-                    {
-                        sh "mvn deploy -B -Dmaven.test.skip=true"
-                    }
-        }
-        post {
-            failure {
-                notifyBuild("Deploy failure")
+        stage('Deploy') {
+            steps {
+                timeout(120) {
+                    withMaven(maven: buildMvn, jdk: buildJdk,
+                            mavenSettingsConfig: deploySettings,
+                            mavenLocalRepo: REPO_DIR
+                    )
+                            {
+                                sh "mvn deploy -B -Dmaven.test.skip=true"
+                            }
+                }
+            }
+            post {
+                failure {
+                    notifyBuild("Deploy failure")
+                }
             }
         }
-    }
 
-    post {
-        unstable {
-            notifyBuild("Unstable Build")
+        post {
+            unstable {
+                notifyBuild("Unstable Build")
+            }
         }
     }
 }