luhaowen 5 dní pred
rodič
commit
95f70c76dc
1 zmenil súbory, kde vykonal 57 pridanie a 57 odobranie
  1. 57 57
      vars/deployJar.groovy

+ 57 - 57
vars/deployJar.groovy

@@ -14,68 +14,68 @@ def call(Map args = [:]) {
     String jvmArgs    = args.jvmArgs    ?: env.JVM_ARGS ?: ''
     String remoteJar  = "${remotePath}/${jarName}"
 
-    PrintMes("111111开始发布 ${jarName} [profile=${profile}] 到 ${remoteHost}:${remotePort}", 'yellow')
+    PrintMes("开始发布 ${jarName} [profile=${profile}] 到 ${remoteHost}:${remotePort}", 'yellow')
 
-    // try {
-    //     /* 1. 按端口杀旧进程,并确认端口已释放 */
-    //     sh """
-    //         ssh -o StrictHostKeyChecking=no ${remoteHost} '
-    //           set -e
-    //           OLD_PID=\\$(lsof -ti:${remotePort} || true)
-    //           if [ -n "\\$OLD_PID" ]; then
-    //               echo "杀掉占用端口 ${remotePort} 的进程 \\$OLD_PID"
-    //               kill -9 \\$OLD_PID
-    //               sleep 3
-    //           fi
-    //           if lsof -ti:${remotePort}; then
-    //               echo "端口 ${remotePort} 仍未释放,杀进程失败"
-    //               exit 1
-    //           fi
-    //         '
-    //     """
+    try {
+        /* 1. 按端口杀旧进程,并确认端口已释放 */
+        sh """
+            ssh -o StrictHostKeyChecking=no ${remoteHost} '
+              set -e
+              OLD_PID=\\$(lsof -ti:${remotePort} || true)
+              if [ -n "\\$OLD_PID" ]; then
+                  echo "杀掉占用端口 ${remotePort} 的进程 \\$OLD_PID"
+                  kill -9 \\$OLD_PID
+                  sleep 3
+              fi
+              if lsof -ti:${remotePort}; then
+                  echo "端口 ${remotePort} 仍未释放,杀进程失败"
+                  exit 1
+              fi
+            '
+        """
 
-    //     /* 2. 备份旧包 */
-    //     sh """
-    //         ssh -o StrictHostKeyChecking=no ${remoteHost} \
-    //           'test -f ${remoteJar} && mv ${remoteJar} ${remoteJar}-\\$(date +%Y%m%d%H%M) || true'
-    //     """
+        /* 2. 备份旧包 */
+        sh """
+            ssh -o StrictHostKeyChecking=no ${remoteHost} \
+              'test -f ${remoteJar} && mv ${remoteJar} ${remoteJar}-\\$(date +%Y%m%d%H%M) || true'
+        """
 
-    //     /* 3. 传包 + MD5 强校验 */
-    //     String localMd5 = sh(script: "md5sum ${jarPath} | awk '{print \$1}'", returnStdout: true).trim()
-    //     sh "scp -o StrictHostKeyChecking=no ${jarPath} ${remoteHost}:${remoteJar}"
-    //     String remoteMd5 = sh(script: "ssh -o StrictHostKeyChecking=no ${remoteHost} 'md5sum ${remoteJar} | awk \"{print \\$1}\"'", returnStdout: true).trim()
-    //     if (localMd5 != remoteMd5) {
-    //         error("MD5 校验失败:本地 ${localMd5} != 远程 ${remoteMd5}")
-    //     }
+        /* 3. 传包 + MD5 强校验 */
+        String localMd5 = sh(script: "md5sum ${jarPath} | awk '{print \$1}'", returnStdout: true).trim()
+        sh "scp -o StrictHostKeyChecking=no ${jarPath} ${remoteHost}:${remoteJar}"
+        String remoteMd5 = sh(script: "ssh -o StrictHostKeyChecking=no ${remoteHost} 'md5sum ${remoteJar} | awk \"{print \\$1}\"'", returnStdout: true).trim()
+        if (localMd5 != remoteMd5) {
+            error("MD5 校验失败:本地 ${localMd5} != 远程 ${remoteMd5}")
+        }
 
-    //     /* 4. 启动新进程 */
-    //     sh """
-    //         ssh -o StrictHostKeyChecking=no ${remoteHost} '
-    //           set -e
-    //           cd ${remotePath}
-    //           nohup java ${jvmArgs} -jar ${jarName} --spring.profiles.active=${profile} > server.log 2>&1 &
-    //           sleep 5
-    //         '
-    //     """
+        /* 4. 启动新进程 */
+        sh """
+            ssh -o StrictHostKeyChecking=no ${remoteHost} '
+              set -e
+              cd ${remotePath}
+              nohup java ${jvmArgs} -jar ${jarName} --spring.profiles.active=${profile} > server.log 2>&1 &
+              sleep 5
+            '
+        """
 
-    //     /* 5. 按 profile 精确校验:有且仅有 1 个进程 */
-    //     String procCount = sh(
-    //         script: "ssh -o StrictHostKeyChecking=no ${remoteHost} 'ps -ef | grep \"java.*${jarName}.*--spring.profiles.active=${profile}\" | grep -v grep | wc -l'",
-    //         returnStdout: true
-    //     ).trim()
-    //     if (procCount != "1") {
-    //         error("启动校验失败:期望 1 个 ${profile} 进程,实际 ${procCount} 个")
-    //     }
+        /* 5. 按 profile 精确校验:有且仅有 1 个进程 */
+        String procCount = sh(
+            script: "ssh -o StrictHostKeyChecking=no ${remoteHost} 'ps -ef | grep \"java.*${jarName}.*--spring.profiles.active=${profile}\" | grep -v grep | wc -l'",
+            returnStdout: true
+        ).trim()
+        if (procCount != "1") {
+            error("启动校验失败:期望 1 个 ${profile} 进程,实际 ${procCount} 个")
+        }
 
-    //     /* 6. 端口已被新进程占用 */
-    //     String newPid = sh(script: "ssh -o StrictHostKeyChecking=no ${remoteHost} 'lsof -ti:${remotePort}'", returnStdout: true).trim()
-    //     if (!newPid) {
-    //         error("端口 ${remotePort} 未被新进程监听,启动可能失败")
-    //     }
+        /* 6. 端口已被新进程占用 */
+        String newPid = sh(script: "ssh -o StrictHostKeyChecking=no ${remoteHost} 'lsof -ti:${remotePort}'", returnStdout: true).trim()
+        if (!newPid) {
+            error("端口 ${remotePort} 未被新进程监听,启动可能失败")
+        }
 
-    //     PrintMes("发布成功 ${jarName} [profile=${profile}, pid=${newPid}]", 'green')
-    // } catch (Exception e) {
-    //     PrintMes("发布失败 ${jarName} : ${e.message}", 'red')
-    //     error('deploySpringBoot failed')
-    // }
+        PrintMes("发布成功 ${jarName} [profile=${profile}, pid=${newPid}]", 'green')
+    } catch (Exception e) {
+        PrintMes("发布失败 ${jarName} : ${e.message}", 'red')
+        error('deploySpringBoot failed')
+    }
 }