pipeline { agent any tools { jdk 'jdk17' } environment { imagename = "mindol1004/kiz" registryCredential = 'docker' dockerImage = '' } stages { // repository clone stage('Repository clone') { steps { script { echo 'Cloning Repository' git url: 'http://mindol.synology.me:8418/kiz-cloud/kiz-shop.git', branch: 'main', credentialsId: 'Gitea' } } post { success { echo 'Successfully Cloned Repository' } failure { error 'This pipeline stops here...' } } } // gradle build stage('Bulid Gradle') { steps { echo 'Bulid Gradle' dir ('/var/jenkins_home/workspace/kiz-shop-pipeline_main'){ sh './gradlew clean build' } } post { success { echo 'Successfully Bulid Gradle' } failure { error 'This pipeline stops here...' } } } // docker build stage('Bulid Docker') { steps { echo 'Bulid Docker' script { dir ('/var/jenkins_home/workspace/kiz-shop-pipeline_main'){ dockerImage = docker.build imagename } } } post { success { echo 'Successfully Bulid Docker' } failure { error 'This pipeline stops here...' } } } // docker push stage('Push Docker') { steps { echo 'Push Docker' script { docker.withRegistry('', registryCredential){ dockerImage.push("${env.BUILD_NUMBER}") dockerImage.push("latest") } } } post { success { sh 'docker rmi -f ' + imagename + ' || true' } failure { error 'Docker Image Push Fail' } } } // docker run stage('Run Docker') { steps { echo 'Run Docker' script { sh 'docker stop kiz-shop || true' sh 'docker rm -f kiz-shop || true' sh 'docker run -d -p 60000:8083 --name kiz-shop ' + imagename } } post { success { echo 'Successfully Run Docker' } failure { error 'Docker Run Fail' } } } } }