diff --git a/nanyao/test/logistic-front.groovy b/nanyao/test/logistic-front.groovy new file mode 100644 index 0000000..37a3f87 --- /dev/null +++ b/nanyao/test/logistic-front.groovy @@ -0,0 +1,121 @@ +//file:noinspection ALL +pipeline { + agent any + + environment { + projectName = 'logistic-front' + // 源码配置 + gitCredentials = '98b675d5-b623-4b76-85eb-28a6ed865100' + // 构建配置 + baseDir = "${WORKSPACE}/" + dockerImgTag = "$projectName:v$BUILD_NUMBER" + dockerfileTarget = 'test' + // harbor配置 + harborProtocol = 'https://' + harborIP = 'swr.cn-east-3.myhuaweicloud.com' + harborCredentials = credentials('6de05cdf-c772-4658-8e15-94aec51283cd') + harborRepositorie = 'wlyc-dev' + // 部署配置 + imagePullSecrets = 'hw-swr-auth' + k8sNamespace = 'nanyao' + containerPort = '8080' + nodePort = 'false' + logging = 'enable' + // 自定义环境变量 + JAVA_HOME = "/usr/local/jdk1.8.0_321" + NODE_HOME = "/usr/local/node-v14.20.1-linux-x64" + PATH = "$JAVA_HOME/bin:$NODE_HOME/bin:$PATH" + } + + stages { + stage('#检查环境') { + steps { + sh """ + java -version + node -v + helm version + """ + } + } + + stage('#拉取代码') { + steps { + checkout([ + $class : 'GitSCM', + branches : [[name: '*/main']], + userRemoteConfigs: [[url: "https://code.50yc.com/yypt/logistic-master.git", credentialsId: "${gitCredentials}"]], + extensions : [[$class: 'RelativeTargetDirectory', relativeTargetDir: './']], + ]) + } + } + + stage('#编译项目') { + steps { + sh """ + npm config set registry https://registry.npmjs.org/ + yarn config set registry https://registry.npmjs.org/ -g + cd $baseDir + cd front/public/yvan-ui + git pull + cd $baseDir + cp -r front/public/yvan-ui/ front/node_modules/ + cp -r front/node_modules/yvan-ui/dist/js/ front/public/ + cd $baseDir + cd front + ls -hl + ls -hl public + ls -hl public/yvan-ui + ls -hl node_modules + ls -hl node_modules/yvan-ui + """ + } + } + + stage('#构建镜像') { + steps { + sh """ + cd $baseDir + pwd + sudo docker build -f ./Dockerfile-logistic-front --target $dockerfileTarget -t $dockerImgTag $baseDir + """ + } + } + + stage('#推送镜像') { + steps { + sh 'sudo docker login --username $harborCredentials_USR --password $harborCredentials_PSW $harborProtocol$harborIP' + sh "sudo docker tag $dockerImgTag $harborIP/$harborRepositorie/$dockerImgTag" + sh "sudo docker push $harborIP/$harborRepositorie/$dockerImgTag" + sh "sudo docker rmi $harborIP/$harborRepositorie/$dockerImgTag" + sh "sudo docker rmi $dockerImgTag" + } + } + + stage('#部署服务') { + steps { + sh """ + helm repo add lizw-repo https://gitee.com/LiZhiW/helm-chart/raw/master + helm repo update lizw-repo + """ + script { + def deployCMD = new StringBuilder() + deployCMD.append("helm upgrade --install $projectName lizw-repo/node01") + deployCMD.append(" --namespace $k8sNamespace --create-namespace") + deployCMD.append(" --version 0.0.1") + deployCMD.append(" --set env.CMD_PARAMS=''") + deployCMD.append(" --set image='$harborIP/$harborRepositorie/$dockerImgTag'") + deployCMD.append(" --set imagePullSecrets='$imagePullSecrets'") + deployCMD.append(" --set containerPort='$containerPort'") + deployCMD.append(" --set nodePort='$nodePort'") + deployCMD.append(" --set labels.logging=$logging") + //deployCMD.append(" --set nodeSelector.enable='true'") + //deployCMD.append(" --set nodeSelector.values\\[0\\]='master1'") + //deployCMD.append(" --set nodeSelector.values\\[1\\]='worker1'") + deployCMD.append(" --set livenessProbe.initialDelaySeconds='10'") + deployCMD.append(" --set readinessProbe.initialDelaySeconds='10'") + sh deployCMD.toString() + } + } + } + } +} diff --git a/nanyao/test/logistic-oms.groovy b/nanyao/test/logistic-oms.groovy new file mode 100644 index 0000000..13562be --- /dev/null +++ b/nanyao/test/logistic-oms.groovy @@ -0,0 +1,117 @@ +//file:noinspection ALL +pipeline { + agent any + + environment { + projectName = 'logistic-oms' + // 源码配置 + gitCredentials = '98b675d5-b623-4b76-85eb-28a6ed865100' + // 构建配置 + baseDir = "${WORKSPACE}/" + dockerImgTag = "$projectName:v$BUILD_NUMBER" + dockerfileTarget = 'test' + // harbor配置 + harborProtocol = 'https://' + harborIP = 'swr.cn-east-3.myhuaweicloud.com' + harborCredentials = credentials('6de05cdf-c772-4658-8e15-94aec51283cd') + harborRepositorie = 'wlyc-dev' + // 部署配置 + imagePullSecrets = 'hw-swr-auth' + k8sNamespace = 'nanyao' + containerPort = '8080' + nodePort = 'false' + logging = 'enable' + springProfiles = 'test' + // 自定义环境变量 + JAVA_HOME = "/usr/local/jdk1.8.0_321" + NODE_HOME = "/usr/local/node-v14.20.1-linux-x64" + PATH = "$JAVA_HOME/bin:$NODE_HOME/bin:$PATH" + } + + stages { + stage('#检查环境') { + steps { + sh """ + java -version + node -v + helm version + """ + } + } + + stage('#拉取代码') { + steps { + checkout([ + $class : 'GitSCM', + branches : [[name: '*/main']], + userRemoteConfigs: [[url: "https://code.50yc.com/yypt/logistic-master.git", credentialsId: "${gitCredentials}"]], + extensions : [[$class: 'RelativeTargetDirectory', relativeTargetDir: './']], + ]) + checkout([ + $class : 'GitSCM', + branches : [[name: '*/main']], + userRemoteConfigs: [[url: "https://code.50yc.com/yypt/logistic-oms.git", credentialsId: "${gitCredentials}"]], + extensions : [[$class: 'RelativeTargetDirectory', relativeTargetDir: './logistic-oms/']], + ]) + } + } + + stage('#编译项目') { + steps { + sh """ + chmod +x gradlew + ./gradlew build -x test + """ + } + } + + stage('#构建镜像') { + steps { + sh """ + cd $baseDir + pwd + sudo docker build -f ./Dockerfile-logistic-oms --target $dockerfileTarget -t $dockerImgTag $baseDir + """ + } + } + + stage('#推送镜像') { + steps { + sh 'sudo docker login --username $harborCredentials_USR --password $harborCredentials_PSW $harborProtocol$harborIP' + sh "sudo docker tag $dockerImgTag $harborIP/$harborRepositorie/$dockerImgTag" + sh "sudo docker push $harborIP/$harborRepositorie/$dockerImgTag" + sh "sudo docker rmi $harborIP/$harborRepositorie/$dockerImgTag" + sh "sudo docker rmi $dockerImgTag" + } + } + + stage('#部署服务') { + steps { + sh """ + helm repo add lizw-repo https://gitee.com/LiZhiW/helm-chart/raw/master + helm repo update lizw-repo + """ + script { + def deployCMD = new StringBuilder() + deployCMD.append("helm upgrade --install $projectName lizw-repo/java01") + deployCMD.append(" --namespace $k8sNamespace --create-namespace") + deployCMD.append(" --version 0.0.1") + deployCMD.append(" --set env.SPRING_PROFILES='$springProfiles'") + deployCMD.append(" --set env.JAVA_MEM_OPTS='-server -Xms1024m -Xmx1024m'") + //deployCMD.append(" --set env.JAVA_ADD_OPENS='--add-exports=org.graalvm.truffle/com.oracle.truffle.api.interop=ALL-UNNAMED'") + deployCMD.append(" --set image='$harborIP/$harborRepositorie/$dockerImgTag'") + deployCMD.append(" --set imagePullSecrets='$imagePullSecrets'") + deployCMD.append(" --set containerPort='$containerPort'") + deployCMD.append(" --set nodePort='$nodePort'") + deployCMD.append(" --set labels.logging=$logging") + //deployCMD.append(" --set nodeSelector.enable='true'") + //deployCMD.append(" --set nodeSelector.values\\[0\\]='master1'") + //deployCMD.append(" --set nodeSelector.values\\[1\\]='worker1'") + deployCMD.append(" --set livenessProbe.initialDelaySeconds='60'") + deployCMD.append(" --set readinessProbe.initialDelaySeconds='60'") + sh deployCMD.toString() + } + } + } + } +} diff --git a/nanyao/test/logistic-wms.groovy b/nanyao/test/logistic-wms.groovy new file mode 100644 index 0000000..c569876 --- /dev/null +++ b/nanyao/test/logistic-wms.groovy @@ -0,0 +1,117 @@ +//file:noinspection ALL +pipeline { + agent any + + environment { + projectName = 'logistic-wms' + // 源码配置 + gitCredentials = '98b675d5-b623-4b76-85eb-28a6ed865100' + // 构建配置 + baseDir = "${WORKSPACE}/" + dockerImgTag = "$projectName:v$BUILD_NUMBER" + dockerfileTarget = 'test' + // harbor配置 + harborProtocol = 'https://' + harborIP = 'swr.cn-east-3.myhuaweicloud.com' + harborCredentials = credentials('6de05cdf-c772-4658-8e15-94aec51283cd') + harborRepositorie = 'wlyc-dev' + // 部署配置 + imagePullSecrets = 'hw-swr-auth' + k8sNamespace = 'nanyao' + containerPort = '8080' + nodePort = 'false' + logging = 'enable' + springProfiles = 'test' + // 自定义环境变量 + JAVA_HOME = "/usr/local/jdk1.8.0_321" + NODE_HOME = "/usr/local/node-v14.20.1-linux-x64" + PATH = "$JAVA_HOME/bin:$NODE_HOME/bin:$PATH" + } + + stages { + stage('#检查环境') { + steps { + sh """ + java -version + node -v + helm version + """ + } + } + + stage('#拉取代码') { + steps { + checkout([ + $class : 'GitSCM', + branches : [[name: '*/main']], + userRemoteConfigs: [[url: "https://code.50yc.com/yypt/logistic-master.git", credentialsId: "${gitCredentials}"]], + extensions : [[$class: 'RelativeTargetDirectory', relativeTargetDir: './']], + ]) + checkout([ + $class : 'GitSCM', + branches : [[name: '*/main']], + userRemoteConfigs: [[url: "https://code.50yc.com/yypt/logistic-wms.git", credentialsId: "${gitCredentials}"]], + extensions : [[$class: 'RelativeTargetDirectory', relativeTargetDir: './logistic-wms/']], + ]) + } + } + + stage('#编译项目') { + steps { + sh """ + chmod +x gradlew + ./gradlew build -x test + """ + } + } + + stage('#构建镜像') { + steps { + sh """ + cd $baseDir + pwd + sudo docker build -f ./Dockerfile-logistic-wms --target $dockerfileTarget -t $dockerImgTag $baseDir + """ + } + } + + stage('#推送镜像') { + steps { + sh 'sudo docker login --username $harborCredentials_USR --password $harborCredentials_PSW $harborProtocol$harborIP' + sh "sudo docker tag $dockerImgTag $harborIP/$harborRepositorie/$dockerImgTag" + sh "sudo docker push $harborIP/$harborRepositorie/$dockerImgTag" + sh "sudo docker rmi $harborIP/$harborRepositorie/$dockerImgTag" + sh "sudo docker rmi $dockerImgTag" + } + } + + stage('#部署服务') { + steps { + sh """ + helm repo add lizw-repo https://gitee.com/LiZhiW/helm-chart/raw/master + helm repo update lizw-repo + """ + script { + def deployCMD = new StringBuilder() + deployCMD.append("helm upgrade --install $projectName lizw-repo/java01") + deployCMD.append(" --namespace $k8sNamespace --create-namespace") + deployCMD.append(" --version 0.0.1") + deployCMD.append(" --set env.SPRING_PROFILES='$springProfiles'") + deployCMD.append(" --set env.JAVA_MEM_OPTS='-server -Xms1024m -Xmx1024m'") + //deployCMD.append(" --set env.JAVA_ADD_OPENS='--add-exports=org.graalvm.truffle/com.oracle.truffle.api.interop=ALL-UNNAMED'") + deployCMD.append(" --set image='$harborIP/$harborRepositorie/$dockerImgTag'") + deployCMD.append(" --set imagePullSecrets='$imagePullSecrets'") + deployCMD.append(" --set containerPort='$containerPort'") + deployCMD.append(" --set nodePort='$nodePort'") + deployCMD.append(" --set labels.logging=$logging") + //deployCMD.append(" --set nodeSelector.enable='true'") + //deployCMD.append(" --set nodeSelector.values\\[0\\]='master1'") + //deployCMD.append(" --set nodeSelector.values\\[1\\]='worker1'") + deployCMD.append(" --set livenessProbe.initialDelaySeconds='60'") + deployCMD.append(" --set readinessProbe.initialDelaySeconds='60'") + sh deployCMD.toString() + } + } + } + } +}