diff --git a/rc-auth/pipeline b/rc-auth/pipeline index b5748e33..d45b8eab 100644 --- a/rc-auth/pipeline +++ b/rc-auth/pipeline @@ -3,14 +3,21 @@ pipeline { label "dev" } + tools { + maven 'maven3' + jdk 'jdk17' + } + environment { - BUILD_IMAGE = "${sh(script:'echo -n likei-dev:auth-$(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 atyou-prod:auth-$(date +%Y%m%dv%H%M%S)', returnStdout: true)}" JAR_FILE = "" JAR_SIZE = "" JAR_TARGET_DIR = "rc-auth/target" JAR_NAME = "rc-auth-*.jar" - IMAGE_REP_TAG = "989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/" - DOCKER_FILE = "rc-auth/Dockerfile" + ALIYUN_REGISTRY = "tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/auth" + IMAGE_REP_TAG = "" + DOCKER_FILE = "rc-auth/Dockerfile-dev" DOCKER_DIR = "rc-auth" K8S_NAMESPACE = "prod" K8S_DEPLOYMENT = "auth" @@ -20,36 +27,45 @@ pipeline { stages { stage('Build') { steps { - sh 'mvn clean package -pl rc-auth -am -P prod -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-auth -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}:auth-${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 tuokemi-con-registry.ap-southeast-1.cr.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} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/auth:latest" + sh "docker push tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/auth:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/auth:latest" } } stage('Apply') { steps { sh "pwd && whoami" - sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig /data/kube/prod-config" + sh "kubectl --kubeconfig=/root/.kube/prod-aliyun-config -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-gateway/pipeline b/rc-gateway/pipeline index 58e5d8e1..6cb2ce5e 100644 --- a/rc-gateway/pipeline +++ b/rc-gateway/pipeline @@ -3,14 +3,21 @@ pipeline { label "dev" } + tools { + maven 'maven3' + jdk 'jdk17' + } + environment { - BUILD_IMAGE = "${sh(script:'echo -n likei-dev:gateway-$(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 atyou-prod: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_REP_TAG = "989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/" - DOCKER_FILE = "rc-gateway/Dockerfile" + ALIYUN_REGISTRY = "tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/gateway" + IMAGE_REP_TAG = "" + DOCKER_FILE = "rc-gateway/Dockerfile-dev" DOCKER_DIR = "rc-gateway" K8S_NAMESPACE = "prod" K8S_DEPLOYMENT = "gateway" @@ -20,35 +27,45 @@ pipeline { stages { stage('Build') { steps { - sh 'mvn clean package -pl rc-gateway -am -P prod -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-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()}" + 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}" } - 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 tuokemi-con-registry.ap-southeast-1.cr.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} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/gateway:latest" + sh "docker push tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/gateway:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/gateway:latest" } } stage('Apply') { steps { - sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig /data/kube/prod-config" + sh "pwd && whoami" + sh "kubectl --kubeconfig=/root/.kube/prod-aliyun-config -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-console/pipeline b/rc-service/rc-service-console/pipeline index d7c26c96..5e32d780 100644 --- a/rc-service/rc-service-console/pipeline +++ b/rc-service/rc-service-console/pipeline @@ -3,14 +3,21 @@ 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 atyou-prod: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" + ALIYUN_REGISTRY = "tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/console" + IMAGE_REP_TAG = "" + DOCKER_FILE = "rc-service/rc-service-console/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-console" K8S_NAMESPACE = "prod" K8S_DEPLOYMENT = "console" @@ -20,35 +27,45 @@ pipeline { stages { stage('Build') { steps { - sh 'mvn clean package -pl rc-service/rc-service-console/console-start -am -P prod -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/console-start -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 tuokemi-con-registry.ap-southeast-1.cr.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} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/console:latest" + sh "docker push tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/console:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/console:latest" } } stage('Apply') { steps { - sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig /data/kube/prod-config" + sh "pwd && whoami" + sh "kubectl --kubeconfig=/root/.kube/prod-aliyun-config -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-external/pipeline b/rc-service/rc-service-external/pipeline index 616ffd13..ca73efb7 100644 --- a/rc-service/rc-service-external/pipeline +++ b/rc-service/rc-service-external/pipeline @@ -3,14 +3,21 @@ pipeline { label "dev" } + tools { + maven 'maven3' + jdk 'jdk17' + } + environment { - BUILD_IMAGE = "${sh(script:'echo -n likei-dev:external-$(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 atyou-prod: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_REP_TAG = "989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/" - DOCKER_FILE = "rc-service/rc-service-external/Dockerfile" + ALIYUN_REGISTRY = "tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/external" + IMAGE_REP_TAG = "" + DOCKER_FILE = "rc-service/rc-service-external/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-external" K8S_NAMESPACE = "prod" K8S_DEPLOYMENT = "external" @@ -20,35 +27,45 @@ pipeline { stages { stage('Build') { steps { - sh 'mvn clean package -pl rc-service/rc-service-external/external-start -am -P prod -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-external/external-start -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}: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}" } - 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 tuokemi-con-registry.ap-southeast-1.cr.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} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/external:latest" + sh "docker push tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/external:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/external:latest" } } stage('Apply') { steps { - sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig /data/kube/prod-config" + sh "pwd && whoami" + sh "kubectl --kubeconfig=/root/.kube/prod-aliyun-config -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-live/pipeline b/rc-service/rc-service-live/pipeline index ceb11b04..95f68723 100644 --- a/rc-service/rc-service-live/pipeline +++ b/rc-service/rc-service-live/pipeline @@ -3,14 +3,21 @@ pipeline { label "dev" } + tools { + maven 'maven3' + jdk 'jdk17' + } + environment { - BUILD_IMAGE = "${sh(script:'echo -n likei-dev:live-$(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 atyou-prod: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_REP_TAG = "989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/" - DOCKER_FILE = "rc-service/rc-service-live/Dockerfile" + ALIYUN_REGISTRY = "tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/live" + IMAGE_REP_TAG = "" + DOCKER_FILE = "rc-service/rc-service-live/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-live" K8S_NAMESPACE = "prod" K8S_DEPLOYMENT = "live" @@ -20,35 +27,45 @@ pipeline { stages { stage('Build') { steps { - sh 'mvn clean package -pl rc-service/rc-service-live/live-start -am -P prod -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-live/live-start -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}: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}" } - 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 tuokemi-con-registry.ap-southeast-1.cr.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} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/live:latest" + sh "docker push tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/live:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/live:latest" } } stage('Apply') { steps { - sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig /data/kube/prod-config" + sh "pwd && whoami" + sh "kubectl --kubeconfig=/root/.kube/prod-aliyun-config -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-order/pipeline b/rc-service/rc-service-order/pipeline index 37042e72..d6ad50ec 100644 --- a/rc-service/rc-service-order/pipeline +++ b/rc-service/rc-service-order/pipeline @@ -3,14 +3,21 @@ pipeline { label "dev" } + tools { + maven 'maven3' + jdk 'jdk17' + } + environment { - BUILD_IMAGE = "${sh(script:'echo -n likei-dev:order-$(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 atyou-prod: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_REP_TAG = "989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/" - DOCKER_FILE = "rc-service/rc-service-order/Dockerfile" + ALIYUN_REGISTRY = "tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/order" + IMAGE_REP_TAG = "" + DOCKER_FILE = "rc-service/rc-service-order/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-order" K8S_NAMESPACE = "prod" K8S_DEPLOYMENT = "order" @@ -20,35 +27,45 @@ pipeline { stages { stage('Build') { steps { - sh 'mvn clean package -pl rc-service/rc-service-order/order-start -am -P prod -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-order/order-start -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}: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}" } - 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 tuokemi-con-registry.ap-southeast-1.cr.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} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/order:latest" + sh "docker push tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/order:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/order:latest" } } stage('Apply') { steps { - sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig /data/kube/prod-config" + sh "pwd && whoami" + sh "kubectl --kubeconfig=/root/.kube/prod-aliyun-config -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-other/pipeline b/rc-service/rc-service-other/pipeline index 84f61d25..9991ebfd 100644 --- a/rc-service/rc-service-other/pipeline +++ b/rc-service/rc-service-other/pipeline @@ -3,14 +3,21 @@ pipeline { label "dev" } + tools { + maven 'maven3' + jdk 'jdk17' + } + environment { - BUILD_IMAGE = "${sh(script:'echo -n likei-dev:other-$(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 atyou-prod: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_REP_TAG = "989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/" - DOCKER_FILE = "rc-service/rc-service-other/Dockerfile" + ALIYUN_REGISTRY = "tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/other" + IMAGE_REP_TAG = "" + DOCKER_FILE = "rc-service/rc-service-other/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-other" K8S_NAMESPACE = "prod" K8S_DEPLOYMENT = "other" @@ -20,35 +27,45 @@ pipeline { stages { stage('Build') { steps { - sh 'mvn clean package -pl rc-service/rc-service-other/other-start -am -P prod -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-other/other-start -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}: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}" } - 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 tuokemi-con-registry.ap-southeast-1.cr.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} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/other:latest" + sh "docker push tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/other:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/other:latest" } } stage('Apply') { steps { - sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig /data/kube/prod-config" + sh "pwd && whoami" + sh "kubectl --kubeconfig=/root/.kube/prod-aliyun-config -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } } diff --git a/rc-service/rc-service-wallet/pipeline b/rc-service/rc-service-wallet/pipeline index c0ce3d51..670d0c13 100644 --- a/rc-service/rc-service-wallet/pipeline +++ b/rc-service/rc-service-wallet/pipeline @@ -3,14 +3,21 @@ pipeline { label "dev" } + tools { + maven 'maven3' + jdk 'jdk17' + } + environment { - BUILD_IMAGE = "${sh(script:'echo -n likei-dev:wallet-$(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 atyou-prod: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_REP_TAG = "989328288674.dkr.ecr.ap-southeast-1.amazonaws.com/" - DOCKER_FILE = "rc-service/rc-service-wallet/Dockerfile" + ALIYUN_REGISTRY = "tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/wallet" + IMAGE_REP_TAG = "" + DOCKER_FILE = "rc-service/rc-service-wallet/Dockerfile-dev" DOCKER_DIR = "rc-service/rc-service-wallet" K8S_NAMESPACE = "prod" K8S_DEPLOYMENT = "wallet" @@ -20,35 +27,45 @@ pipeline { stages { stage('Build') { steps { - sh 'mvn clean package -pl rc-service/rc-service-wallet/wallet-start -am -P prod -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-wallet/wallet-start -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}: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}" } - 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 tuokemi-con-registry.ap-southeast-1.cr.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} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/wallet:latest" + sh "docker push tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/wallet:latest" + sh "docker rmi -f ${IMAGE_REP_TAG} tuokemi-con-registry.ap-southeast-1.cr.aliyuncs.com/atyou-prod/wallet:latest" } } stage('Apply') { steps { - sh "kubectl -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG} --kubeconfig /data/kube/prod-config" + sh "pwd && whoami" + sh "kubectl --kubeconfig=/root/.kube/prod-aliyun-config -n ${K8S_NAMESPACE} set image deployment/${K8S_DEPLOYMENT} ${K8S_APP_LABEL}=${IMAGE_REP_TAG}" } } }