simplify build and get rid of withMaven (#908)

* simplify build
This commit is contained in:
Olivier Lamy 2022-12-13 08:58:42 +10:00
parent 69c5a5dbdb
commit c0c752baef
1 changed files with 22 additions and 27 deletions

47
Jenkinsfile vendored
View File

@ -21,10 +21,10 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e
def buildOs = 'linux' def buildOs = 'linux'
def buildJdk = '8' def buildJdk = '8'
def buildMvn = '3.6.0' def buildMvn = '3.6.3'
def runITsOses = ['linux', 'windows'] def runITsOses = ['linux']
def runITsJdks = ['8', '11','17'] def runITsJdks = ['8', '11', '17']
def runITsMvn = '3.6.0' def runITsMvn = '3.6.3'
def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V" // -DmavenDistro=... -Dmaven.test.failure.ignore=true def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V" // -DmavenDistro=... -Dmaven.test.failure.ignore=true
def tests def tests
@ -49,24 +49,20 @@ node(jenkinsEnv.nodeSelection(osNode)) {
stage('Build / Unit Test') { stage('Build / Unit Test') {
String jdkName = jenkinsEnv.jdkFromVersion(buildOs, buildJdk) String jdkName = jenkinsEnv.jdkFromVersion(buildOs, buildJdk)
String mvnName = jenkinsEnv.mvnFromVersion(buildOs, buildMvn) String mvnName = jenkinsEnv.mvnFromVersion(buildOs, buildMvn)
withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/.repository", options:[ try {
artifactsPublisher(disabled: false), withEnv(["JAVA_HOME=${ tool "$jdkName" }",
junitPublisher(ignoreAttachments: false), "PATH+MAVEN=${ tool "$jdkName" }/bin:${tool "$mvnName"}/bin",
findbugsPublisher(disabled: false), "MAVEN_OPTS=-Xms2g -Xmx4g -Djava.awt.headless=true"]) {
openTasksPublisher(disabled: false), sh "mvn clean ${MAVEN_GOAL} -B -U -e -fae -V -Dmaven.test.failure.ignore -PversionlessMavenDist -Dmaven.repo.local=${WORK_DIR}/.repository"
dependenciesFingerprintPublisher(), }
invokerPublisher(), } finally {
pipelineGraphPublisher() junit testResults: '**/target/surefire-reports/*.xml', allowEmptyResults: true
]) {
sh "mvn clean ${MAVEN_GOAL} -B -U -e -fae -V -Dmaven.test.failure.ignore=true"
} }
dir ('apache-maven/target') { dir ('apache-maven/target') {
sh "mv apache-maven-*-bin.zip apache-maven-dist.zip" sh "mv apache-maven-*-bin.zip apache-maven-dist.zip"
stash includes: 'apache-maven-dist.zip', name: 'dist' stash includes: 'apache-maven-dist.zip', name: 'dist'
} }
} }
tests = resolveScm source: [$class: 'GitSCMSource', credentialsId: '', id: '_', remote: 'https://gitbox.apache.org/repos/asf/maven-integration-testing.git', traits: [[$class: 'jenkins.plugins.git.traits.BranchDiscoveryTrait'], [$class: 'GitToolSCMSourceTrait', gitTool: 'Default']]], targets: [BRANCH_NAME, 'master']
} }
} }
@ -89,7 +85,10 @@ for (String os in runITsOses) {
// will not trample each other plus workaround for JENKINS-52657 // will not trample each other plus workaround for JENKINS-52657
dir(isUnix() ? 'test' : "c:\\mvn-it-${EXECUTOR_NUMBER}.tmp") { dir(isUnix() ? 'test' : "c:\\mvn-it-${EXECUTOR_NUMBER}.tmp") {
def WORK_DIR=pwd() def WORK_DIR=pwd()
checkout tests checkout([$class: 'GitSCM',
branches: [[name: "*/master"]],
extensions: [[$class: 'CloneOption', depth: 1, noTags: true, shallow: true]],
userRemoteConfigs: [[url: 'https://github.com/apache/maven-integration-testing.git']]])
if (isUnix()) { if (isUnix()) {
sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo"
} else { } else {
@ -98,15 +97,10 @@ for (String os in runITsOses) {
} }
unstash 'dist' unstash 'dist'
try { try {
withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ withEnv(["JAVA_HOME=${ tool "$jdkName" }",
junitPublisher(ignoreAttachments: false) "PATH+MAVEN=${ tool "$jdkName" }/bin:${tool "$mvnName"}/bin",
]) { "MAVEN_OPTS=-Xms2g -Xmx4g -Djava.awt.headless=true"]) {
String cmd = "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip -Dmaven.test.failure.ignore=true" String cmd = "${runITscommand} -DmavenDistro=$WORK_DIR/dists/apache-maven-bin.zip -Dmaven.test.failure.ignore"
if (stageId.endsWith('-jdk7')) {
// Java 7u80 has TLS 1.2 disabled by default: need to explicitly enable
cmd = "${cmd} -Dhttps.protocols=TLSv1.2"
}
if (isUnix()) { if (isUnix()) {
sh 'df -hT' sh 'df -hT'
sh "${cmd}" sh "${cmd}"
@ -116,6 +110,7 @@ for (String os in runITsOses) {
} }
} }
} finally { } finally {
//junit testResults: '**/core-it-suite/**/target/surefire-reports/*.xml', allowEmptyResults: true
archiveDirs(stageId, ['core-it-suite-logs':'core-it-suite/target/test-classes', archiveDirs(stageId, ['core-it-suite-logs':'core-it-suite/target/test-classes',
'core-it-suite-reports':'core-it-suite/target/surefire-reports']) 'core-it-suite-reports':'core-it-suite/target/surefire-reports'])
deleteDir() // clean up after ourselves to reduce disk space deleteDir() // clean up after ourselves to reduce disk space