podTemplate(containers: [
    containerTemplate(
        name: 'maven', 
        image: 'maven:3.8.6-openjdk-11', 
        command: 'sleep', 
        args: '30d'
    )],
    volumes: [
        persistentVolumeClaim(
        mountPath: '/root/.m2/repository', 
        claimName: 'maven-repo-storage', 
        readOnly: false
    )]
){
    node(POD_LABEL) {
        stage('Get a Maven project') {
            container('maven') {
                stage('Build a Maven project') {
                    git branch: 'master', url: 'https://github.com/IGNF/validator.git'

                    sh 'mvn clean package -DskipTests'
                    archiveArtifacts 'validator-cli/target/validator-cli.jar'
                }
            }
        }
    }
}