ci: 更新 Jenkinsfile 配置及部署流程

- 将镜像标签从构建号改为 latest
- 添加容器端口和主机端口配置
- 简化构建和部署脚本
- 添加容器拉取步骤并配置端口映射
This commit is contained in:
2026-05-06 17:17:18 +08:00
parent d64af52c2e
commit a4ee86a22b
Vendored
+14 -17
View File
@@ -5,7 +5,9 @@ pipeline {
REGISTRY = 'git.virtheart.com'
REGISTRY_OWNER = 'virtheart'
IMAGE_NAME = "${env.JOB_NAME.replaceAll(/[^a-zA-Z0-9.-]/, '-').toLowerCase()}"
IMAGE_TAG = "${env.BUILD_NUMBER}"
IMAGE_TAG = 'latest'
CONTAINER_PORT = '3000'
HOST_PORT = '3010'
}
stages {
@@ -19,12 +21,7 @@ pipeline {
steps {
script {
def imageFullName = "${REGISTRY}/${REGISTRY_OWNER}/${IMAGE_NAME}:${IMAGE_TAG}"
sh """
set -x
docker version
docker info
docker build -t ${imageFullName} . || { echo "Docker build failed"; exit 1; }
"""
sh "docker build -t ${imageFullName} ."
}
}
}
@@ -34,12 +31,10 @@ pipeline {
withCredentials([usernamePassword(credentialsId: 'docker-registry-credentials', usernameVariable: 'REGISTRY_USERNAME', passwordVariable: 'REGISTRY_PASSWORD')]) {
script {
def imageFullName = "${REGISTRY}/${REGISTRY_OWNER}/${IMAGE_NAME}:${IMAGE_TAG}"
sh """
set -x
echo ${REGISTRY_PASSWORD} | docker login ${REGISTRY} -u ${REGISTRY_USERNAME} --password-stdin
docker push ${imageFullName}
docker rmi ${imageFullName}
"""
sh '''
set +x
echo $REGISTRY_PASSWORD | docker login $REGISTRY -u $REGISTRY_USERNAME --password-stdin
docker push ''' + imageFullName
}
}
}
@@ -50,11 +45,13 @@ pipeline {
script {
def imageFullName = "${REGISTRY}/${REGISTRY_OWNER}/${IMAGE_NAME}:${IMAGE_TAG}"
sh """
docker stop ${IMAGE_NAME} || true
docker rm ${IMAGE_NAME} || true
docker run -d --name ${IMAGE_NAME} \
docker stop $IMAGE_NAME || true
docker rm $IMAGE_NAME || true
docker pull $imageFullName
docker run -d --name $IMAGE_NAME \
-p $HOST_PORT:$CONTAINER_PORT \
--restart unless-stopped \
${imageFullName}
$imageFullName
"""
}
}