build file edit
Some checks failed
test/timeline-server/pipeline/head There was a failure building this commit

This commit is contained in:
jiangh277
2025-12-24 17:28:47 +08:00
parent 4b74790230
commit 0b7338aab9

57
Jenkinsfile vendored
View File

@@ -90,11 +90,10 @@ pipeline {
} }
} }
stage('Build Docker Images') { stage('Build and Push Docker Images') {
steps { steps {
script { script {
def services = ['gateway', 'user', 'story', 'file'] def services = ['gateway', 'user', 'story', 'file']
def imageTags = [:]
for (service in services) { for (service in services) {
def serviceDir = "timeline-${service}-service" def serviceDir = "timeline-${service}-service"
@@ -108,31 +107,9 @@ pipeline {
// 构建镜像 // 构建镜像
sh "docker build -t ${imageName} -t ${latestImageName} ${serviceDir}/." sh "docker build -t ${imageName} -t ${latestImageName} ${serviceDir}/."
imageTags[service] = imageName
}
// 使用Groovy的JsonBuilder创建JSON字符串 // 推送镜像
def jsonBuilder = new groovy.json.JsonBuilder(imageTags)
env.IMAGE_TAGS = jsonBuilder.toString()
}
}
}
stage('Push Images') {
steps {
script {
// 使用Groovy的JsonSlurper解析JSON字符串
def jsonSlurper = new groovy.json.JsonSlurper()
def imageTags = jsonSlurper.parseText(env.IMAGE_TAGS)
def services = ['gateway', 'user', 'story', 'file']
for (service in services) {
def imageName = imageTags[service]
sh "docker push ${imageName}" sh "docker push ${imageName}"
// 也推送latest标签
def latestImageName = imageName.toString().replace(BUILD_NUMBER, "latest")
sh "docker push ${latestImageName}" sh "docker push ${latestImageName}"
} }
} }
@@ -167,11 +144,11 @@ pipeline {
sh 'echo "构建和部署成功完成"' sh 'echo "构建和部署成功完成"'
// 发送成功通知 // 发送成功通知
emailext ( //emailext (
subject: "构建成功: ${env.JOB_NAME} - ${env.BUILD_NUMBER}", // subject: "构建成功: ${env.JOB_NAME} - ${env.BUILD_NUMBER}",
body: "构建成功: ${env.BUILD_URL}", // body: "构建成功: ${env.BUILD_URL}",
to: "332515344@qq.com" // to: "332515344@qq.com"
) //)
} }
} }
failure { failure {
@@ -179,11 +156,11 @@ pipeline {
sh 'echo "构建或部署失败"' sh 'echo "构建或部署失败"'
// 发送失败通知 // 发送失败通知
emailext ( //emailext (
subject: "构建失败: ${env.JOB_NAME} - ${env.BUILD_NUMBER}", // subject: "构建失败: ${env.JOB_NAME} - ${env.BUILD_NUMBER}",
body: "构建失败: ${env.BUILD_URL}", // body: "构建失败: ${env.BUILD_URL}",
to: "332515344@qq.com" // to: "332515344@qq.com"
) //)
} }
} }
always { always {
@@ -195,11 +172,11 @@ pipeline {
// 生成Dockerfile内容的函数 // 生成Dockerfile内容的函数
def getDockerfileContent(serviceDir) { def getDockerfileContent(serviceDir) {
return """FROM eclipse-temurin:21-jdk return """FROM eclipse-temurin:21-jdk
VOLUME /tmp VOLUME /tmp
COPY target/*.jar app.jar COPY target/*.jar app.jar
EXPOSE 8080 EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar"] ENTRYPOINT ["java","-jar","/app.jar"]
""" """
} }
// 生成docker-compose文件内容的函数 // 生成docker-compose文件内容的函数