diff --git a/rc-gateway/pipeline-dev b/rc-gateway/pipeline-dev index 13041418..9476487f 100644 --- a/rc-gateway/pipeline-dev +++ b/rc-gateway/pipeline-dev @@ -10,11 +10,13 @@ pipeline { environment { 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:gateway-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" JAR_FILE = "" JAR_SIZE = "" JAR_TARGET_DIR = "rc-gateway/target" JAR_NAME = "rc-gateway-*.jar" - IMAGE_TAG = "azizi-dev/gateway:latest" + ALIYUN_REGISTRY = "registry.cn-hangzhou.aliyuncs.com/azizi-dev/gateway" + IMAGE_REP_TAG = "" DOCKER_FILE = "rc-gateway/Dockerfile-dev" DOCKER_DIR = "rc-gateway" K8S_NAMESPACE = "azizi" @@ -31,21 +33,39 @@ pipeline { 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}:gateway-${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}" } } } stage('Build image') { steps { - sh "docker build -f ${DOCKER_FILE} -t ${IMAGE_TAG} ${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 push ${IMAGE_REP_TAG}" + sh "docker tag ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/gateway:latest" + sh "docker push registry.cn-hangzhou.aliyuncs.com/azizi-dev/gateway:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/gateway:latest" } } stage('Apply') { steps { sh "pwd && whoami" - sh "kubectl -n ${K8S_NAMESPACE} rollout restart deployment/${K8S_DEPLOYMENT}" + sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-external/pipeline-dev b/rc-service/rc-service-external/pipeline-dev index 5cc254cc..65d189c2 100644 --- a/rc-service/rc-service-external/pipeline-dev +++ b/rc-service/rc-service-external/pipeline-dev @@ -10,11 +10,13 @@ pipeline { environment { 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:external-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" JAR_FILE = "" JAR_SIZE = "" JAR_TARGET_DIR = "rc-service/rc-service-external/external-start/target" JAR_NAME = "rc-service-external-*.jar" - IMAGE_TAG = "azizi-dev/external:latest" + ALIYUN_REGISTRY = "registry.cn-hangzhou.aliyuncs.com/azizi-dev/external" + IMAGE_REP_TAG = "" DOCKER_FILE = "rc-service/rc-service-external/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-external" K8S_NAMESPACE = "azizi" @@ -31,21 +33,39 @@ pipeline { 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}:external-${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}" } } } stage('Build image') { steps { - sh "docker build -f ${DOCKER_FILE} -t ${IMAGE_TAG} ${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 push ${IMAGE_REP_TAG}" + sh "docker tag ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/external:latest" + sh "docker push registry.cn-hangzhou.aliyuncs.com/azizi-dev/external:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/external:latest" } } stage('Apply') { steps { sh "pwd && whoami" - sh "kubectl -n ${K8S_NAMESPACE} rollout restart deployment/${K8S_DEPLOYMENT}" + sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-live/pipeline-dev b/rc-service/rc-service-live/pipeline-dev index 01835fec..cbec2211 100644 --- a/rc-service/rc-service-live/pipeline-dev +++ b/rc-service/rc-service-live/pipeline-dev @@ -10,11 +10,13 @@ pipeline { environment { 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:live-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" JAR_FILE = "" JAR_SIZE = "" JAR_TARGET_DIR = "rc-service/rc-service-live/live-start/target" JAR_NAME = "rc-service-live-*.jar" - IMAGE_TAG = "azizi-dev/live:latest" + ALIYUN_REGISTRY = "registry.cn-hangzhou.aliyuncs.com/azizi-dev/live" + IMAGE_REP_TAG = "" DOCKER_FILE = "rc-service/rc-service-live/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-live" K8S_NAMESPACE = "azizi" @@ -31,21 +33,39 @@ pipeline { 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}:live-${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}" } } } stage('Build image') { steps { - sh "docker build -f ${DOCKER_FILE} -t ${IMAGE_TAG} ${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 push ${IMAGE_REP_TAG}" + sh "docker tag ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/live:latest" + sh "docker push registry.cn-hangzhou.aliyuncs.com/azizi-dev/live:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/live:latest" } } stage('Apply') { steps { sh "pwd && whoami" - sh "kubectl -n ${K8S_NAMESPACE} rollout restart deployment/${K8S_DEPLOYMENT}" + sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-order/pipeline-dev b/rc-service/rc-service-order/pipeline-dev index 5bab23d9..93fd68de 100644 --- a/rc-service/rc-service-order/pipeline-dev +++ b/rc-service/rc-service-order/pipeline-dev @@ -10,11 +10,13 @@ pipeline { environment { 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:order-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" JAR_FILE = "" JAR_SIZE = "" JAR_TARGET_DIR = "rc-service/rc-service-order/order-start/target" JAR_NAME = "rc-service-order-*.jar" - IMAGE_TAG = "azizi-dev/order:latest" + ALIYUN_REGISTRY = "registry.cn-hangzhou.aliyuncs.com/azizi-dev/order" + IMAGE_REP_TAG = "" DOCKER_FILE = "rc-service/rc-service-order/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-order" K8S_NAMESPACE = "azizi" @@ -31,21 +33,39 @@ pipeline { 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}:order-${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}" } } } stage('Build image') { steps { - sh "docker build -f ${DOCKER_FILE} -t ${IMAGE_TAG} ${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 push ${IMAGE_REP_TAG}" + sh "docker tag ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/order:latest" + sh "docker push registry.cn-hangzhou.aliyuncs.com/azizi-dev/order:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/order:latest" } } stage('Apply') { steps { sh "pwd && whoami" - sh "kubectl -n ${K8S_NAMESPACE} rollout restart deployment/${K8S_DEPLOYMENT}" + sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-other/pipeline-dev b/rc-service/rc-service-other/pipeline-dev index 9f97b192..156870cb 100644 --- a/rc-service/rc-service-other/pipeline-dev +++ b/rc-service/rc-service-other/pipeline-dev @@ -10,11 +10,13 @@ pipeline { environment { 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:other-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" JAR_FILE = "" JAR_SIZE = "" JAR_TARGET_DIR = "rc-service/rc-service-other/other-start/target" JAR_NAME = "rc-service-other-*.jar" - IMAGE_TAG = "azizi-dev/other:latest" + ALIYUN_REGISTRY = "registry.cn-hangzhou.aliyuncs.com/azizi-dev/other" + IMAGE_REP_TAG = "" DOCKER_FILE = "rc-service/rc-service-other/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-other" K8S_NAMESPACE = "azizi" @@ -31,21 +33,39 @@ pipeline { 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}:other-${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}" } } } stage('Build image') { steps { - sh "docker build -f ${DOCKER_FILE} -t ${IMAGE_TAG} ${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 push ${IMAGE_REP_TAG}" + sh "docker tag ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/other:latest" + sh "docker push registry.cn-hangzhou.aliyuncs.com/azizi-dev/other:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/other:latest" } } stage('Apply') { steps { sh "pwd && whoami" - sh "kubectl -n ${K8S_NAMESPACE} rollout restart deployment/${K8S_DEPLOYMENT}" + sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-wallet/pipeline-dev b/rc-service/rc-service-wallet/pipeline-dev index ae800577..8f706648 100644 --- a/rc-service/rc-service-wallet/pipeline-dev +++ b/rc-service/rc-service-wallet/pipeline-dev @@ -10,11 +10,13 @@ pipeline { environment { 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:wallet-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" JAR_FILE = "" JAR_SIZE = "" JAR_TARGET_DIR = "rc-service/rc-service-wallet/wallet-start/target" JAR_NAME = "rc-service-wallet-*.jar" - IMAGE_TAG = "azizi-dev/wallet:latest" + ALIYUN_REGISTRY = "registry.cn-hangzhou.aliyuncs.com/azizi-dev/wallet" + IMAGE_REP_TAG = "" DOCKER_FILE = "rc-service/rc-service-wallet/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-wallet" K8S_NAMESPACE = "azizi" @@ -31,21 +33,39 @@ pipeline { 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}:wallet-${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}" } } } stage('Build image') { steps { - sh "docker build -f ${DOCKER_FILE} -t ${IMAGE_TAG} ${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 push ${IMAGE_REP_TAG}" + sh "docker tag ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/wallet:latest" + sh "docker push registry.cn-hangzhou.aliyuncs.com/azizi-dev/wallet:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} registry.cn-hangzhou.aliyuncs.com/azizi-dev/wallet:latest" } } stage('Apply') { steps { sh "pwd && whoami" - sh "kubectl -n ${K8S_NAMESPACE} rollout restart deployment/${K8S_DEPLOYMENT}" + sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } }