def label = "worker-${UUID.randomUUID().toString()}" podTemplate( label: label containers: [ containerTemplate( name: 'gradle', image: 'gradle:7.6.0-jdk11', command: 'sleep', args: '30d' ) ], volumes: [ hostPathVolume(mountPath: '/home/gradle/.gradle', hostPath: '/tmp/jenkins/.gradle') ] ) { node(label) { def myRepo = checkout scm def gitCommit = myRepo.GIT_COMMIT def gitBranch = myRepo.GIT_BRANCH def shortGitCommit = "${gitCommit[0..10]}" def previousGitCommit = sh(script: "git rev-parse ${gitCommit}~", returnStdout: true) stage('Test') { try { container('gradle') { sh """ pwd echo "GIT_BRANCH=${gitBranch}" >> /etc/environment echo "GIT_COMMIT=${gitCommit}" >> /etc/environment gradle test """ } } catch (exc) { println "Failed to test - ${currentBuild.fullDisplayName}" throw(exc) } } stage('Build') { container('gradle') { sh "gradle build" } } } }