59 lines
2.2 KiB
Plaintext
59 lines
2.2 KiB
Plaintext
pipeline {
|
|
agent any
|
|
|
|
environment {
|
|
BUILD_IMAGE = "${sh(script:'echo -n aswat-dev:visual-monitor-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}"
|
|
JAR_FILE = ""
|
|
JAR_SIZE = ""
|
|
JAR_TARGET_DIR = "rc-visual/visual-monitor/target"
|
|
JAR_NAME = "visual-monitor-*.jar"
|
|
IMAGE_REP_TAG = "registry.ap-southeast-1.aliyuncs.com/rc1304/"
|
|
DOCKER_FILE = "rc-visual/visual-monitor/Dockerfile"
|
|
DOCKER_DIR = "rc-visual/visual-monitor"
|
|
K8S_NAMESPACE = "rc-dev-aswat-visual-monitor"
|
|
K8S_DEPLOYMENT = "app-service-deployment"
|
|
K8S_APP_LABEL = "app-service"
|
|
}
|
|
|
|
stages {
|
|
stage('Build') {
|
|
steps {
|
|
sh 'mvn clean package -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)}"
|
|
}
|
|
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 "docker build --build-arg SERVICE_VERSION=${BUILD_IMAGE} -f ${DOCKER_FILE} -t ${BUILD_IMAGE} ${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}"
|
|
}
|
|
}
|
|
stage('Apply') {
|
|
steps {
|
|
sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig /data/kube/prod-config"
|
|
}
|
|
}
|
|
}
|
|
|
|
post {
|
|
always {
|
|
cleanWs()
|
|
}
|
|
}
|
|
}
|