Browse Source

lcc-work-server.gdsl

lizw 2 tuần trước cách đây
mục cha
commit
079f3e1257
1 tập tin đã thay đổi với 103 bổ sung0 xóa
  1. 103 0
      9_58_30003/lcc-work-server.gdsl

+ 103 - 0
9_58_30003/lcc-work-server.gdsl

@@ -0,0 +1,103 @@
+//file:noinspection ALL
+pipeline {
+    agent any
+
+    environment {
+        projectName = 'lcc-work-server'
+        // 源码配置
+        git = 'http://git.yvanui.com/luoyifan/LCC-WORLD-MODEL7.git'
+        gitCredentials = 'git_yvanui_com_lizhiwei'
+        // 构建配置
+        baseDir = "${WORKSPACE}"
+        profiles = 'production'
+        port = "7722"
+        // 自定义环境变量
+        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'
+        PNPM_HOME="/usr/lib/node_modules/pnpm/bin"
+        PATH = "$JAVA_HOME/bin:$GRADLE_HOME/bin:$MAVEN_HOME/bin:$NODE_HOME/bin:$PNPM_HOME:$HOME/.nvm/versions/node/v20.19.3/bin:$PATH"
+    }
+
+    stages {
+        stage('#检查环境') {
+            steps {
+                sh """
+                    node -v
+                    npm config set registry https://registry.npmmirror.com
+                    npm install -g pnpm
+                    pnpm -v
+                """
+            }
+        }
+
+        stage('#拉取代码') {
+            steps {
+                checkout([
+                        $class           : 'GitSCM',
+                        branches         : [[name: '*/master']],
+                        userRemoteConfigs: [[url: "${git}", credentialsId: "${gitCredentials}"]],
+                        extensions       : [],
+                ])
+            }
+        }
+
+        stage('#停止服务') {
+            steps {
+                sh """
+                    pid=`ps -ef | grep "${baseDir}/lcc-work-server/node_modules/" | grep -v 'grep' | awk '{print \$2}'`
+                    if [ -z "\$pid" ];then
+                        echo '${projectName}未运行'
+                    else
+                        ps -ef | grep "${baseDir}/lcc-work-server/node_modules/" | grep -v 'grep' | awk '{print \$2}' | xargs kill
+                        echo '${projectName}已停止!'
+                        sleep 3s
+                        pid=`ps -ef | grep "${baseDir}/lcc-work-server/node_modules/" | grep -v 'grep' | awk '{print \$2}'`
+                        if [ -n "\$pid" ];then
+                            ps -ef | grep "${baseDir}/lcc-work-server/node_modules/" | grep -v 'grep' | awk '{print \$2}' | xargs kill -9
+                            echo '${projectName}已停止(强制)!'
+                            sleep 1s
+                        fi
+                    fi
+                """
+            }
+        }
+
+        stage('#编译项目') {
+            steps {
+                sh """
+                    cd $baseDir/lcc-work-server
+                    pnpm i
+                """
+            }
+        }
+
+        stage('#部署服务') {
+            steps {
+                sh """
+                    pid=`ps -ef | grep "${baseDir}/lcc-work-server/node_modules/" | grep -v 'grep' | awk '{print \$2}'`
+                    if [ -z "\$pid" ];then
+                        echo '${projectName}未运行'
+                    else
+                        ps -ef | grep "${baseDir}/lcc-work-server/node_modules/" | grep -v 'grep' | awk '{print \$2}' | xargs kill
+                        echo '${projectName}已停止!'
+                        sleep 3s
+                        pid=`ps -ef | grep "${baseDir}/lcc-work-server/node_modules/" | grep -v 'grep' | awk '{print \$2}'`
+                        if [ -n "\$pid" ];then
+                            ps -ef | grep "${baseDir}/lcc-work-server/node_modules/" | grep -v 'grep' | awk '{print \$2}' | xargs kill -9
+                            echo '${projectName}已停止(强制)!'
+                            sleep 1s
+                        fi
+                    fi
+                """
+                withEnv(['JENKINS_NODE_COOKIE=dontkillme']) {
+                    sh """
+                        cd $baseDir/lcc-work-server
+                        nohup pnpm run dev >> /dev/null 2>&1 &
+                    """
+                }
+            }
+        }
+    }
+}