Add a Jenkinsfile to run it test (per default it runs it master branch but now there is a parameter to use a different it source branch) (#355)

* add Jenkinsfile for its running with a branch of integration-testing source

Signed-off-by: olivier lamy <olamy@apache.org>
This commit is contained in:
Olivier Lamy 2020-06-02 09:09:41 +10:00 committed by GitHub
parent 66f795476b
commit b3e3972988
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 58 additions and 0 deletions

58
Jenkinsfile.its Normal file
View File

@ -0,0 +1,58 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
pipeline {
agent { node { label 'ubuntu' } }
options {
durabilityHint('PERFORMANCE_OPTIMIZED')
buildDiscarder(logRotator(numToKeepStr: '20', artifactNumToKeepStr: '5'))
timeout(time: 180, unit: 'MINUTES')
}
parameters {
string( defaultValue: 'master', description: 'Core Its branch (default master)',
name: 'ITS_BRANCH' )
}
stages {
stage("Build Maven Core") {
steps {
withEnv(["JAVA_HOME=${ tool "JDK 1.8 (latest)" }", "PATH+MAVEN=${tool 'Maven 3.6.3'}/bin:${env.JAVA_HOME}/bin"]) {
sh "mvn -Drat.skip=true -T2 -B -V install -P versionlessMavenDist -Dmaven.repo.local=${env.WORKSPACE}/repo"
}
}
}
stage( "Run Maven Integration Testing" ) {
steps {
git url: "https://github.com/apache/maven-integration-testing.git", branch: "${ITS_BRANCH}"
sh "ls -lrt ${env.WORKSPACE}/apache-maven/target/"
withEnv(["JAVA_HOME=${ tool "JDK 1.8 (latest)" }", "PATH+MAVEN=${tool 'Maven 3.6.3'}/bin:${env.JAVA_HOME}/bin"]) {
sh "mvn clean install -V -B -Prun-its,embedded -Dmaven.test.failure.ignore=true -Dmaven.repo.local=${env.WORKSPACE}/repo -DmavenDistro=${env.WORKSPACE}/apache-maven/target/apache-maven-bin.zip -DwrapperDistroDir=${env.WORKSPACE}/apache-maven/target -DmavenWrapper=${env.WORKSPACE}/maven-wrapper/target/maven-wrapper.jar"
}
}
}
}
post {
always {
junit testResults: 'core-it-suite/target/surefire-reports/*.xml', allowEmptyResults: true
script{
currentBuild.description = "Build with Core Its branch:$ITS_BRANCH"
}
cleanWs()
}
}
}