| // -*- mode: groovy -*- | 
 | pipeline { | 
 |  | 
 |   agent { | 
 |     kubernetes { | 
 |       cloud 'kubernetes' | 
 |       label 'mulkcms2-v1' | 
 |       yaml """ | 
 |         apiVersion: v1 | 
 |         kind: Pod | 
 |         metadata: {} | 
 |         spec: | 
 |           containers: | 
 |             - name: main | 
 |               image: adoptopenjdk:14-hotspot-bionic | 
 |               tty: true | 
 |               command: | 
 |                 - /bin/cat | 
 |       } | 
 |       """ | 
 |     } | 
 |   } | 
 |  | 
 |   stages { | 
 |  | 
 |     stage('Build & Test') { | 
 |       steps { | 
 |         container('main') { | 
 |           cache(maxCacheSize: 1000, caches: [ | 
 |               [$class: 'ArbitraryFileCache', excludes: '', includes: '**/*', path: "$HOME/.m2"], | 
 |               [$class: 'ArbitraryFileCache', excludes: '', includes: '**/*', path: "$HOME/.yarn-cache"], | 
 |           ]) { | 
 |             ansiColor('xterm') { | 
 |               sh """ | 
 |                 apt-get -y update | 
 |                 apt-get -y install --no-install-recommends npm | 
 |                 npm install -g yarn | 
 |                 yarn config set cache-folder $HOME/.yarn-cache | 
 |                 ./mvnw package -Dquarkus.container-image.build=true -Dquarkus.container-image.push=true | 
 |               """ | 
 |             } | 
 |           } | 
 |         } | 
 |       } | 
 |     } | 
 |  | 
 |     stage('Archive artifacts') { | 
 |       steps { | 
 |         container('main') { | 
 |           recordIssues tools: [ | 
 |               mavenConsole(), | 
 |               java() | 
 |           ] | 
 |         } | 
 |       } | 
 |     } | 
 |  | 
 |   } | 
 | } |