Jelajahi Sumber

demo-deploy.sh

lizw 4 minggu lalu
induk
melakukan
d8cd906739
1 mengubah file dengan 87 tambahan dan 0 penghapusan
  1. 87 0
      9_58_30003/LCC-WORLD-MODEL7.gdsl

+ 87 - 0
9_58_30003/LCC-WORLD-MODEL7.gdsl

@@ -0,0 +1,87 @@
+//file:noinspection ALL
+pipeline {
+    agent any
+
+    environment {
+        projectName = 'LCC-WORLD-MODEL7'
+        // 源码配置
+        git = 'http://git.yvanui.com/luoyifan/LCC-WORLD-MODEL7.git'
+        gitCredentials = 'git_yvanui_com_lizhiwei'
+        // 构建配置
+        baseDir = "${WORKSPACE}"
+        profiles = 'jx'
+        port = "8722"
+        JAVA_MEM_OPTS = " -DappName=${projectName} -server -Xmx2g -Xms2g"
+        DATABASE_OPTS = " -Ddatabase.codeset=ISO-8859-1 -Ddatabase.logging=false"
+        JAVA_OPTS_EXT = " -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dapplication.codeset=UTF-8 -Dfile.encoding=UTF-8 -Duser.timezone=Asia/Shanghai --add-opens java.base/java.lang=ALL-UNNAMED"
+        // 自定义环境变量
+        JAVA_HOME = '/opt/jenkins-agent/env/java/jdk-17.0.11'
+        GRADLE_HOME = '/opt/jenkins-agent/env/gradle/gradle-6.8.3'
+        MAVEN_HOME = '/opt/jenkins-agent/env/maven/apache-maven-3.9.6'
+        NODE_HOME = '/opt/node/node-v18.19.0-linux-x64-glibc-217'
+        PATH = "$JAVA_HOME/bin:$GRADLE_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:$PATH"
+    }
+
+    stages {
+        stage('#检查环境') {
+            steps {
+                sh """
+                    java -version
+                """
+            }
+        }
+
+        stage('#拉取代码') {
+            steps {
+                checkout([
+                        $class           : 'GitSCM',
+                        branches         : [[name: '*/master']],
+                        userRemoteConfigs: [[url: "${git}", credentialsId: "${gitCredentials}"]],
+                        extensions       : [],
+                ])
+            }
+        }
+
+        stage('#编译项目') {
+            steps {
+                sh """
+                    cd $baseDir
+                    chmod +x gradlew
+                    ./gradlew :lcc-servo:build -x test
+                """
+            }
+        }
+
+        stage('#部署服务') {
+            steps {
+                sh """
+                    pid=`ps -ef | grep "DappName=${projectName}" | grep -v 'grep' | awk '{print \$2}'`
+                    if [ -z \$pid ];then
+                        echo '${projectName}未运行'
+                    else
+                        ps -ef | grep "DappName=${projectName}" | grep -v 'grep' | awk '{print \$2}' | xargs kill
+                        echo '${projectName}已停止!'
+                        sleep 3s
+                        pid=`ps -ef | grep "DappName=${projectName}" | grep -v 'grep' | awk '{print \$2}'`
+                        if [ -n "\$pid" ];then
+                            ps -ef | grep "DappName=${projectName}" | grep -v 'grep' | awk '{print \$2}' | xargs kill -9
+                            echo '${projectName}已停止(强制)!'
+                            sleep 1s
+                        fi
+                    fi
+
+                    cd $baseDir/lcc-servo/build/libs/
+                    rm -rf ../runtime
+                    cp -r ./ ../runtime
+                """
+                withEnv(['JENKINS_NODE_COOKIE=dontkillme']) {
+                    sh """
+                        cd $baseDir/lcc-servo/build/libs/../runtime/
+                        java $JAVA_MEM_OPTS $DATABASE_OPTS $JAVA_OPTS_EXT -jar ./lcc-servo-0.0.1-SNAPSHOT.jar --spring.profiles.active=global,${profiles} --server.port=${port} >>/dev/null 2>&1 &
+                        echo "查看服务日志: tail -F /home/galaxis/logs/lcc-servo/lcc-servo.log -n 100"
+                    """
+                }
+            }
+        }
+    }
+}