node {
    cleanWs()
    checkout scm

     docker_tag = 'latest'
     projectname ='doc'
     
     packagejson = readJSON file: 'package.json' 
     docker_tag = packagejson['version']
     projectname = packagejson['name']

    image_name          = 'dhub.lex.lan:5001/doc/' + projectname;
    image_doc           = image_name + ':' + docker_tag;
    image_doc_latest    = image_name + ':latest';
}
pipeline {
    agent {
       label 'jenkins-node-01'
       }
	options {
        timestamps()
		buildDiscarder logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '', numToKeepStr: '5')
        ansiColor('xterm')
    }
	
    stages {
	    stage('Check') {
            steps {
                echo 'Checking..'

                sh label: '', script: 'docker --version'
                
                //sh "printenv | sort"
            }
        }
        stage('Docker build') {
            steps {
                echo 'Docker build....'

                sh label: '', script: 'docker build -f ./docker/Dockerfile --build-arg docker_registry=dhub.lex.lan:5000 -t ' + image_doc + ' .'
            }
        }
        stage('Docker tag latest') {
            steps {
                sh label: 'tag image_doc latest', script: 'docker tag ' + image_doc + ' ' + image_doc_latest
            }
        }
        stage('docker push'){
            steps {
                script {
                 docker.withRegistry('http://dhub.lex.lan:5001/', '6173afa3-27b0-4357-8b97-9d1ee071784c') {
                    docker.image(image_doc).push()
                    docker.image(image_doc_latest).push()
                 }   
                }
            }
        }
        stage('docker cleanup'){
            steps {
                sh label: '', script: 'docker rmi ' + image_doc
                sh label: '', script: 'docker rmi ' + image_doc_latest
            }        
        }
	}
}