import com.meesho.stages.buildDocker import com.meesho.stages.notify def Codecall(Map stepParams) { def buildDocker = new buildDocker() def notify = new notify() checkOutCode() config = readYaml file: "${stepParams.file}" def maintainer = config.maintainer ?: "jenkins-user" def msg = "Job Passed" try{ mvnBuild() dockerBuild(config) } catch(Exception e){ log.error(e.toString()) currentBuild.result = env.FAILURE msg = "Job Failed. Error: "+ e.toString() } finally{ log.info(msg) notify.run(msg,maintainer) } } def checkOutCode () { stage('Checking Out Code') { checkout scm } } def mvnBuild() { stage('Maven Build') { container('maven') { sh "mvn clean install -DskipTests" } } } def Podcall(Map stepParams) { podTemplate( yaml: libraryResource('org/meesho/pod.yaml')) { node(POD_LABEL) { Codecall(file: "$stepParams.file") } } } def dockerBuild(Map config) { // container('dockerpush') { buildDockerGroovyGke.run(config) // buildDockerGroovyGke.release(config) // } } // container('tools') { // stage('Dockerfile creation') { // if (config.dockerfilePresent == "Yes"){ // sh ''' docker build -t "${config.gcrAddress}/${config.repo_name} -f ${config.dockerFileName}" ''' // } // else{ // def artifactId = config.artifactId // def version = config.version // def doBuild = "NO" // sh "ls -al" // echo "chmod after creating dockerfile" // sh "cd server ; ls" // // sh "cp /root/.m2/repository/com/meesho/payment/gateway/server/2.9.1/server-2.9.1.jar ." // def dockerfile = buildDocker.getDockerfile(config.dockerBuildVersion, config.repo_name, version, artifactId, doBuild) // echo "ls after creating dockerfile" // sh "ls " // def tag = config.version // sh "gcloud auth configure-docker asia-southeast1-docker.pkg.dev --quiet" // sh "docker build -t asia-southeast1-docker.pkg.dev/supply-poc-351106/meesho-devops/external-payment-gateway:${tag} ${dockerfile}" // sh "docker push asia-southeast1-docker.pkg.dev/supply-poc-351106/meesho-devops/external-payment-gateway:${tag}" // // echo "docker build -t ${config.gcrImagePod}/${config.repo_name} ${dockerfile}" // // echo "docker tag ${config.gcrImagePod}/${config.repo_name} ${config.gcrAddress}/${config.gcrImagePod}/${config.repo_name}:${tag}" // // echo "docker push ${config.gcrAddress}/${config.gcrImagePod}/${config.repo_name}:${tag}" // } // } // } // }