aslan-server/rc-gateway/pipeline-dev
2026-03-24 20:25:52 +08:00

59 lines
1.8 KiB
Plaintext

pipeline {
agent {
label "dev"
}
tools {
maven 'maven3'
jdk 'jdk17'
}
environment {
PATH = "/var/jenkins_home/docker-cli/bin:/var/jenkins_home/jdk-17/bin:/var/jenkins_home/kubectl/bin:${env.PATH}"
JAR_FILE = ""
JAR_SIZE = ""
JAR_TARGET_DIR = "rc-gateway/target"
JAR_NAME = "rc-gateway-*.jar"
IMAGE_TAG = "azizi-dev/gateway:latest"
DOCKER_FILE = "rc-gateway/Dockerfile-dev"
DOCKER_DIR = "rc-gateway"
K8S_NAMESPACE = "azizi"
K8S_DEPLOYMENT = "gateway"
K8S_APP_LABEL = "gateway"
}
stages {
stage('Build') {
steps {
configFileProvider([configFile(fileId: '0fcb2100-aec1-45ef-b3ea-64f2f911d462', variable: 'MAVEN_SETTINGS')]) {
sh 'mvn clean package -pl rc-gateway -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()}"
}
echo "---> Jar file: ${JAR_FILE}"
echo "---> Jar size: ${JAR_SIZE}"
}
}
}
stage('Build image') {
steps {
sh "docker build -f ${DOCKER_FILE} -t ${IMAGE_TAG} ${DOCKER_DIR}"
}
}
stage('Apply') {
steps {
sh "pwd && whoami"
sh "kubectl -n ${K8S_NAMESPACE} rollout restart deployment/${K8S_DEPLOYMENT}"
}
}
}
post {
always {
cleanWs()
}
}
}