build file edit
Some checks failed
test/timeline-server/pipeline/head There was a failure building this commit
Some checks failed
test/timeline-server/pipeline/head There was a failure building this commit
This commit is contained in:
57
Jenkinsfile
vendored
57
Jenkinsfile
vendored
@@ -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文件内容的函数
|
||||||
|
|||||||
Reference in New Issue
Block a user