From 04c2a408565365cb440a7c7bf535481b6da010fa Mon Sep 17 00:00:00 2001 From: jiangh277 Date: Wed, 24 Dec 2025 15:39:28 +0800 Subject: [PATCH] build file --- Jenkinsfile | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 1802010..6721efe 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -2,7 +2,7 @@ pipeline { agent any tools { - maven 'Maven 3.8.6' // 修正Maven工具名称 + maven 'maven 3.9.12' // 修正Maven工具名称 jdk 'openjdk21' // 修正JDK工具名称,使用Jenkins中实际配置的名称 } @@ -63,7 +63,7 @@ pipeline { script { echo '打包项目' sh 'mvn package -DskipTests' - + // 保存构建产物 archiveArtifacts artifacts: 'timeline-gateway-service/target/*.jar, timeline-user-service/target/*.jar, timeline-story-service/target/*.jar, timeline-file-service/target/*.jar', fingerprint: true } @@ -75,22 +75,22 @@ pipeline { script { def services = ['gateway', 'user', 'story', 'file'] def imageTags = [:] - + for (service in services) { def serviceDir = "timeline-${service}-service" def imageName = "${REGISTRY}/timeline-${service}-service:${BUILD_NUMBER}" def latestImageName = "${REGISTRY}/timeline-${service}-service:latest" - + // 检查Dockerfile是否存在,如果不存在则创建 if (!fileExists("${serviceDir}/Dockerfile")) { writeFile file: "${serviceDir}/Dockerfile", text: getDockerfileContent(serviceDir) } - + // 构建镜像 sh "docker build -t ${imageName} -t ${latestImageName} ${serviceDir}/." imageTags[service] = imageName } - + env.IMAGE_TAGS = writeJSON returnText: imageTags } } @@ -101,11 +101,11 @@ pipeline { script { def imageTags = readJSON text: env.IMAGE_TAGS def services = ['gateway', 'user', 'story', 'file'] - + for (service in services) { def imageName = imageTags[service] sh "docker push ${imageName}" - + // 也推送latest标签 def latestImageName = imageName.replace(BUILD_NUMBER, "latest") sh "docker push ${latestImageName}" @@ -120,16 +120,16 @@ pipeline { // 创建或更新docker-compose文件 def composeContent = getComposeFileContent(BUILD_NUMBER) writeFile file: 'docker-compose.yml', text: composeContent - + // 拉取最新镜像 sh 'docker-compose pull' - + // 停止旧容器 sh 'docker-compose down || true' - + // 启动新容器 sh 'docker-compose up -d' - + echo "所有服务已部署完成" } } @@ -140,7 +140,7 @@ pipeline { success { script { sh 'echo "构建和部署成功完成"' - + // 发送成功通知 emailext ( subject: "构建成功: ${env.JOB_NAME} - ${env.BUILD_NUMBER}", @@ -152,7 +152,7 @@ pipeline { failure { script { sh 'echo "构建或部署失败"' - + // 发送失败通知 emailext ( subject: "构建失败: ${env.JOB_NAME} - ${env.BUILD_NUMBER}", @@ -302,4 +302,4 @@ volumes: mysql_data: minio_data: """ -} \ No newline at end of file +}