From b220ceaa132a4ff68ae2db24db7b1c7292f717dc Mon Sep 17 00:00:00 2001 From: tianfeng <769204422@qq.com> Date: Tue, 24 Mar 2026 19:19:55 +0800 Subject: [PATCH] =?UTF-8?q?console=E9=85=8D=E7=BD=AE=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rc-service/rc-service-console/Dockerfile-dev | 35 +++++++++++++ rc-service/rc-service-console/pipeline-dev | 55 +++++++++++++------- 2 files changed, 71 insertions(+), 19 deletions(-) create mode 100644 rc-service/rc-service-console/Dockerfile-dev diff --git a/rc-service/rc-service-console/Dockerfile-dev b/rc-service/rc-service-console/Dockerfile-dev new file mode 100644 index 00000000..ab23797c --- /dev/null +++ b/rc-service/rc-service-console/Dockerfile-dev @@ -0,0 +1,35 @@ +#FROM openjdk:17 +FROM registry.cn-hangzhou.aliyuncs.com/public_mirror_images/eclipse-temurin:17-jdk-jammy + +ARG SERVICE_VERSION="v1" +ENV RC_SERVICE_NAME "rc-service-console" +ENV RC_SERVICE_VERSION $SERVICE_VERSION + +ENV JVM_OPTION "-XX:InitialRAMPercentage=65.0 -XX:MaxRAMPercentage=65.0" +ENV SERVER_PORT="9000" +ENV SERVER_PROFILE_ACTIVE "prod" + +RUN mkdir -p /application +WORKDIR application +COPY console-start/target/rc-service-console-*.jar service.jar + +ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \ + -Dnacos.remote.client.grpc.timeout=6000 \ + -Dnacos.remote.client.grpc.server.check.timeout=6000 \ + -Dnacos.remote.client.grpc.health.timeout=6000 \ + --add-opens java.base/java.lang.invoke=ALL-UNNAMED \ + --add-opens java.base/java.io=ALL-UNNAMED \ + --add-opens java.base/java.math=ALL-UNNAMED \ + --add-opens java.base/java.net=ALL-UNNAMED \ + --add-opens java.base/java.nio=ALL-UNNAMED \ + --add-opens java.base/java.security=ALL-UNNAMED \ + --add-opens java.base/java.text=ALL-UNNAMED \ + --add-opens java.base/java.time=ALL-UNNAMED \ + --add-opens java.base/java.util=ALL-UNNAMED \ + --add-opens java.base/jdk.internal.access=ALL-UNNAMED \ + --add-opens java.base/jdk.internal.misc=ALL-UNNAMED \ + $JVM_OPTION \ + -jar /application/service.jar \ + --server.port=$SERVER_PORT \ + --spring.profiles.active=$SERVER_PROFILE_ACTIVE + diff --git a/rc-service/rc-service-console/pipeline-dev b/rc-service/rc-service-console/pipeline-dev index 5f630412..c9d6cc04 100644 --- a/rc-service/rc-service-console/pipeline-dev +++ b/rc-service/rc-service-console/pipeline-dev @@ -3,16 +3,23 @@ pipeline { label "dev" } + tools { + maven 'maven3' + jdk 'jdk17' + } + environment { - BUILD_IMAGE = "${sh(script:'echo -n likei-dev:console-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" + PATH = "/var/jenkins_home/docker-cli/bin:/var/jenkins_home/jdk-17/bin:/var/jenkins_home/kubectl/bin:${env.PATH}" + BUILD_IMAGE = "${sh(script:'echo -n azizi-dev:console-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" JAR_FILE = "" JAR_SIZE = "" JAR_TARGET_DIR = "rc-service/rc-service-console/console-start/target" - JAR_NAME = "rc-service-console-*.jar" - IMAGE_REP_TAG = "989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/" - DOCKER_FILE = "rc-service/rc-service-console/Dockerfile" + JAR_NAME = "rc-service/rc-service-console-*.jar" + ALIYUN_REGISTRY = "registry.cn-hangzhou.aliyuncs.com/azizi-dev/console" + IMAGE_REP_TAG = "" + DOCKER_FILE = "rc-service/rc-service-console/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-console" - K8S_NAMESPACE = "local" + K8S_NAMESPACE = "azizi" K8S_DEPLOYMENT = "console" K8S_APP_LABEL = "console" } @@ -20,34 +27,44 @@ pipeline { stages { stage('Build') { steps { - sh 'mvn clean package -pl rc-service/rc-service-console/console-start -am -P dev -Dmaven.test.skip=true' - sh 'ls ${JAR_TARGET_DIR}' - script { - JAR_FILE="${sh(script:'ls -t ${JAR_TARGET_DIR}/${JAR_NAME} | head -n 1', returnStdout: true)}" - JAR_SIZE="${sh(script:'du -h ${JAR_TARGET_DIR}/${JAR_NAME}', returnStdout: true)}" - IMAGE_REP_TAG="${sh(script:'echo -n ${IMAGE_REP_TAG}${BUILD_IMAGE}', returnStdout: true)}" + configFileProvider([configFile(fileId: '0fcb2100-aec1-45ef-b3ea-64f2f911d462', variable: 'MAVEN_SETTINGS')]) { + sh 'mvn clean package -pl rc-service/rc-service-console -am -P dev -Dmaven.test.skip=true -s $MAVEN_SETTINGS' + sh 'ls ${JAR_TARGET_DIR}' + script { + JAR_FILE = "${sh(script:'ls -t ${JAR_TARGET_DIR}/${JAR_NAME} | head -n 1', returnStdout: true).trim()}" + JAR_SIZE = "${sh(script:'du -h ${JAR_TARGET_DIR}/${JAR_NAME}', returnStdout: true).trim()}" + IMAGE_REP_TAG = "${ALIYUN_REGISTRY}:console-${sh(script:'date +%Y%m%dv%H%M%S', returnStdout: true).trim()}" + } + echo "---> Jar file: ${JAR_FILE}" + echo "---> Jar size: ${JAR_SIZE}" + echo "---> Image name: ${BUILD_IMAGE}" + echo "---> Image registry tag: ${IMAGE_REP_TAG}" } - echo "---> Jar file: ${JAR_FILE}" - echo "---> Jar size: ${JAR_SIZE}" - echo "---> Image name: ${BUILD_IMAGE}" - echo "---> Image registry tag: ${IMAGE_REP_TAG}" } } stage('Build image') { steps { - sh "aws ecr get-login-password --region ap-southeast-1 | docker login --username AWS --password-stdin 989328288674.dkr.ecr.ap-southeast-1.amazonaws.com" - sh "docker build --build-arg SERVICE_VERSION=${BUILD_IMAGE} -f ${DOCKER_FILE} -t ${BUILD_IMAGE} ${DOCKER_DIR}" + withCredentials([usernamePassword( + credentialsId: 'aliyun-registry', + usernameVariable: 'ALIYUN_USER', + passwordVariable: 'ALIYUN_PASS' + )]) { + sh 'echo $ALIYUN_PASS | docker login --username $ALIYUN_USER --password-stdin registry.cn-hangzhou.aliyuncs.com' + } + sh "docker build --build-arg SERVICE_VERSION=${BUILD_IMAGE} -f ${DOCKER_FILE} -t ${IMAGE_REP_TAG} ${DOCKER_DIR}" } } stage('Upload image') { steps { - sh "docker tag ${BUILD_IMAGE} ${IMAGE_REP_TAG}" sh "docker push ${IMAGE_REP_TAG}" - sh "docker rmi -f ${BUILD_IMAGE} ${IMAGE_REP_TAG}" + sh "docker tag ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/console:latest" + sh "docker push registry.cn-hangzhou.aliyuncs.com/azizi-dev/console:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/console:latest" } } stage('Apply') { steps { + sh "pwd && whoami" sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } }