def backend_url = "http://192.168.101.221/iot/yelink-demo.git" def registry_url = "swr.cn-south-2.myhuaweicloud.com" def item = "yelink-demo" def project_name = "yelink_appstore_test" pipeline { agent any parameters { gitParameter branch: '', branchFilter: '.*', defaultValue: 'origin/master', description: '分支', name: 'BACKEND_BRANCH', quickFilterEnabled: false, selectedValue: 'NONE', sortMode: 'NONE', tagFilter: '*', type: 'GitParameterDefinition', useRepository: '' string defaultValue: '', description: 'docker镜像版本号', name: 'docker_tag', trim: false booleanParam(name: 'BUILD_DOCKER', defaultValue: true, description: 'Should we run build docker') } stages { stage('拉取后端代码') { steps { sh 'mkdir -p ./backend' dir('./backend'){ sh 'rm -rf ./deploy' checkout([$class: 'GitSCM', branches: [[name: "${params.BACKEND_BRANCH}"]], extensions: [], userRemoteConfigs: [[credentialsId: 'weipeng', url: "$backend_url"]]]) } } } stage('后端代码编译') { when { expression { return params.BUILD_DOCKER } } steps { dir('./backend') { sh "mvn clean package -DskipTests" } } } stage('构建docker镜像') { when { expression { return params.BUILD_DOCKER } } steps { dir('./backend') { script { sh "docker login -u cn-south-2@TQ0BQOAML1V5Y5HZ9ISP -p c6ec8441a31e8779899f060ee4a9146969b81f439ef5664cd2f5b3bd81cba962 swr.cn-south-2.myhuaweicloud.com" sh "docker build -t ${item}:latest ./" sh "docker tag ${item}:latest ${registry_url}/${project_name}/${item}:${docker_tag}" sh "docker push ${registry_url}/${project_name}/${item}:${docker_tag}" sh "docker rmi -f ${item}" sh "docker rmi -f ${registry_url}/${project_name}/${item}:${docker_tag}" } } } } stage('打包目录') { steps { dir('./backend/deploy') { script { sh 'echo "VERSION=${docker_tag}" > .env' sh "touch yelink-demo_${docker_tag}_${BUILD_NUMBER}_`date +%Y-%m-%d`" sh 'rm -f ../yelink-demo_*.zip' sh 'zip -r yelink-demo_${docker_tag}_${BUILD_NUMBER}_`date +%Y-%m-%d`.zip . -x ".git/*"' sh 'cp yelink-demo_${docker_tag}_${BUILD_NUMBER}_`date +%Y-%m-%d`.zip ../' } } } } } }