node {
    // Git checkout before load source the file
    checkout scm
    // sh '''
    //     ls -lhrt
    // '''
    def base_branch = ref.tokenize('/')[2]
    def rootDir = pwd()
    def yaml2Map = load "./sharedLibs/yaml2Map.groovy"
    def stages = load "./sharedLibs/stages.k8s.groovy"
    def GLOBAL_CONFIG = yaml2Map.read('global.yaml').project
    dir("AuctionApp/DEV/AUC") {
        def PROJECT_CONFIG = yaml2Map.read('cfg.yaml').project
        def CONFIG = yaml2Map.merge(PROJECT_CONFIG, GLOBAL_CONFIG)
        CONFIG.docker.image = String.format(CONFIG.docker.image, CONFIG.service.name)
        println 'configs: ' + CONFIG
        
        String[] JAVA_ARGS = ["-Djava.security.egd=file:/dev/./urandom",
            "-DBuild.number=${BUILD_NUMBER}",
            "-Xmx1024m",
            "-Dspring.profiles.active=dev",
            "-Dserver.port=80",
            "-jar","/app/target/${CONFIG.service.jar}"]

        stages.execute(CONFIG, base_branch, [
            'K3SDEPLOY' : {stages.deployWithConfigmapEnvOnly(CONFIG.service, CONFIG.k3s, base_branch, JAVA_ARGS, './configmap-env.ini',"ahxpm")}
        ])
    }
}