def call(body) { def config = [:] body.resolveStrategy = Closure.DELEGATE_FIRST body.delegate = config body() def server def rtMaven = Artifactory.newMavenBuild() def buildInfo def MAVEN_VERSION = "maven-3.6.3" def JDK_VERSION = "java-13.0.2" def javaDoc = "false" def podtemplate = getBuildPodTemplate(MAVEN_VERSION, JDK_VERSION) pipeline { agent { kubernetes { yaml podtemplate } } environment { MAVEN_HOME = "/usr/share/maven" JAVA_HOME = "/opt/java/openjdk" } stages { /* stage('Main') { steps { sh 'mvn --version' } } stage ('Clone') { steps{ git url: 'https://github.com/jfrog/project-examples.git' } } */ stage ('Artifactory configuration') { steps{ script { // Obtain an Artifactory server instance, defined in Jenkins --> Manage Jenkins --> Configure System: server = Artifactory.server 'artifactory' // Tool name from Jenkins configuration rtMaven = Artifactory.newMavenBuild() rtMaven.deployer releaseRepo: 'releases', snapshotRepo: 'snapshots', server: server rtMaven.resolver releaseRepo: 'all-maven', snapshotRepo: 'all-maven', server: server buildInfo = Artifactory.newBuildInfo() } } } stage('Install') { steps { script { container('maven') { sh 'echo ${MAVEN_HOME}; echo ${JAVA_HOME}' sh 'mvn -v; java --version' String mvnGoals = " install -Dmaven.javadoc.skip=${!javaDoc} -DskipTests -Dinvoker.skip=true" buildInfo = rtMaven.run pom: 'maven-example/pom.xml', goals: mvnGoals } } } } stage ('Publish build-info') { steps { script{ server.publishBuildInfo buildInfo } } } } } }