console配置处理

This commit is contained in:
tianfeng 2026-03-24 19:19:55 +08:00
parent cfca9f9606
commit b220ceaa13
2 changed files with 71 additions and 19 deletions

View File

@ -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

View File

@ -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}"
}
}