String Dockerfile = """ FROM 10.100.166.50:15001/library/jdk:1.8.0_341 as dev ADD gateway-Gemini-exec.jar app.jar ENTRYPOINT ["java", "-server", "-jar", "app.jar", "--spring.profiles.active=global", "--server.port=8080"] EXPOSE 8080 """.trim() pipeline { agent any environment { // 源码配置 git = 'http://git.galaxis.yvanui.com/thinking/thinkingframework.git' gitCredentials = 'lizw(git.galaxis.yvanui.com)' // 构建配置 target = "${WORKSPACE}/cloud/gateway/target" dockerImgTag = "wms-gateway:v$BUILD_NUMBER" // harbor配置 harbor = 'http://10.100.166.50:15001' harborCredentials = credentials('admin(10.100.166.50:15001)') harborRepositorie = 'wms' // 自定义环境变量 JAVA_HOME = '/home/www/jenkins/jdk1.8.0_341' MAVEN_HOME = '/home/www/jenkins/apache-maven-3.8.6' NODE_HOME = '/home/www/jenkins/node-v16.17.0-linux-x64' PATH = "$JAVA_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin" } stages { stage('#检查环境') { steps { sh 'java -version' sh 'mvn --version' } } stage('#拉去代码') { steps { checkout([ $class : 'GitSCM', branches : [[name: '*/develop']], userRemoteConfigs: [[url: "${git}", credentialsId: "${gitCredentials}"]], extensions : [], ]) } } stage('#编译项目') { steps { sh 'mvn clean package -Dmaven.test.skip=true' } } stage('#构建镜像') { steps { sh """ cd $target pwd echo '$Dockerfile' > Dockerfile sudo docker build --target dev -t $dockerImgTag $target """ } } stage('#推送镜像') { steps { sh 'sudo docker login --username $harborCredentials_USR --password $harborCredentials_PSW $harbor' sh "sudo docker tag $dockerImgTag ${harbor.replaceAll('https?://', '')}/$harborRepositorie/$dockerImgTag" sh "sudo docker push ${harbor.replaceAll('https?://', '')}/$harborRepositorie/$dockerImgTag" } } } }