111
This commit is contained in:
Vendored
+114
@@ -0,0 +1,114 @@
|
||||
pipeline {
|
||||
agent any
|
||||
|
||||
environment {
|
||||
IMAGE_PREFIX = "im"
|
||||
IMAGE_TAG = "${BUILD_NUMBER}"
|
||||
|
||||
DOCKER_BUILDKIT = "1"
|
||||
|
||||
// Harbor 示例:
|
||||
// REGISTRY = "harbor.xxx.com/im"
|
||||
|
||||
REGISTRY = ""
|
||||
}
|
||||
|
||||
stages {
|
||||
|
||||
stage('拉取代码') {
|
||||
steps {
|
||||
checkout scm
|
||||
}
|
||||
}
|
||||
|
||||
stage('构建 UserService') {
|
||||
steps {
|
||||
script {
|
||||
buildImage(
|
||||
"user-service",
|
||||
"User.WebApi/Dockerfile"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('构建 ContactService') {
|
||||
steps {
|
||||
script {
|
||||
buildImage(
|
||||
"contact-service",
|
||||
"ContactService.WebApi/Dockerfile"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('构建 GroupService') {
|
||||
steps {
|
||||
script {
|
||||
buildImage(
|
||||
"group-service",
|
||||
"GroupService.WebApi/Dockerfile"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('构建 MessageService') {
|
||||
steps {
|
||||
script {
|
||||
buildImage(
|
||||
"message-service",
|
||||
"MessageService.WebApi/Dockerfile"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stage('构建 ConnectorService') {
|
||||
steps {
|
||||
script {
|
||||
buildImage(
|
||||
"connector-service",
|
||||
"ConnectorService/Dockerfile"
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
post {
|
||||
success {
|
||||
echo "全部镜像构建完成"
|
||||
}
|
||||
|
||||
failure {
|
||||
echo "镜像构建失败"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
def buildImage(serviceName, dockerfilePath) {
|
||||
|
||||
def imageName = "${IMAGE_PREFIX}-${serviceName}:${IMAGE_TAG}"
|
||||
def latestName = "${IMAGE_PREFIX}-${serviceName}:latest"
|
||||
|
||||
sh """
|
||||
docker build \
|
||||
--pull \
|
||||
-t ${imageName} \
|
||||
-t ${latestName} \
|
||||
-f ${dockerfilePath} .
|
||||
"""
|
||||
|
||||
if (env.REGISTRY?.trim()) {
|
||||
|
||||
sh """
|
||||
docker tag ${imageName} ${REGISTRY}/${serviceName}:${IMAGE_TAG}
|
||||
docker tag ${latestName} ${REGISTRY}/${serviceName}:latest
|
||||
|
||||
docker push ${REGISTRY}/${serviceName}:${IMAGE_TAG}
|
||||
docker push ${REGISTRY}/${serviceName}:latest
|
||||
"""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user