pipeline { agent any environment { PROJECT_NAME="eurake-dev" DATE_TAG = sh(returnStdout: true,script: 'date "+%Y%m%d%H%M"').trim() IMAGE_REPOSITORY = "1192.168.3.2:85" EXPOSE_PORT = "8761" //容器端口 PROJECT_PORT = "8761" //外部端口 HARBOR_REPO = "testrepo" TAG_PATH="${env.IMAGE_REPOSITORY}/${env.HARBOR_REPO}/${env.PROJECT_NAME}:${env.DATE_TAG}" } tools{ maven 'maven3.6.2' jdk 'jdk1.8' } stages { stage('maven clear AND build') { steps { script{ sh "mvn clean install -DskipTests" // 利用dockerfile生成容器镜像,dockerfile就在当前项目根目录下 sh "sudo docker build -t ${env.PROJECT_NAME}:${env.DATE_TAG} ." } } } stage('PushImage to Harbor') { steps { script{ //打tag sh "sudo docker tag ${env.PROJECT_NAME}:${env.DATE_TAG} ${env.TAG_PATH}" //将镜像推送到harbor私有库 sh "sudo docker push ${env.TAG_PATH}" sh "sudo docker rmi ${env.PROJECT_NAME}:${env.DATE_TAG} " } } } stage('Deploy') { steps { sh "sudo sh /opt/shell/Start.sh ${env.PROJECT_NAME} ${env.IMAGE_REPOSITORY} ${env.EXPOSE_PORT} ${env.PROJECT_PORT} ${env.HARBOR_REPO} ${env.DATE_TAG}" } } } }