From 791a9cc3b3dc5c9a1cc4f05a52b8b2c8ca2fd8e2 Mon Sep 17 00:00:00 2001 From: Home Date: Sun, 29 Mar 2026 03:01:40 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4jenkins=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E5=8C=96=E6=B5=81=E6=B0=B4=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Jenkinsfile | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 38caadda..0bbfbb28 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -11,24 +11,17 @@ pipeline { ANDROID_SDK = '/opt/android-sdk' // 安卓 SDK 路径 } stages { - stage('读取 manifest 版本号(支持注释·稳定版)') { + stage('读取 manifest 版本号(jq 稳定版)') { steps { script { - // 路径是 ./src/manifest.json !!!你之前路径错了 - def manifestPath = './src/manifest.json' - - // 读取并去掉注释,再解析(完美支持你的文件) + // 用 jq 读取(你最熟悉、最稳) VERSION_NAME = sh( - script: """ - node -p "const fs=require('fs');JSON.parse(fs.readFileSync('${manifestPath}','utf8').replace(/\\/\\/.*/g,'')).versionName" - """, + script: "jq -r '.versionName' ./src/manifest.json", returnStdout: true ).trim() VERSION_CODE = sh( - script: """ - node -p "const fs=require('fs');JSON.parse(fs.readFileSync('${manifestPath}','utf8').replace(/\\/\\/.*/g,'')).versionCode" - """, + script: "jq -r '.versionCode' ./src/manifest.json", returnStdout: true ).trim() @@ -37,9 +30,9 @@ pipeline { echo " 版本号:${VERSION_CODE}" echo "=====================================" -// // 替换到安卓 build.gradle -// sh "sed -i \"s/versionName \\\".*\\\"/versionName \\\"${VERSION_NAME}\\\"/\" Android/simpleDemo/build.gradle" -// sh "sed -i \"s/versionCode [0-9]*/versionCode ${VERSION_CODE}/\" Android/simpleDemo/build.gradle" + // 自动替换到 Android build.gradle + sh "sed -i \"s/versionName \\\".*\\\"/versionName \\\"${VERSION_NAME}\\\"/\" Android/simpleDemo/build.gradle" + sh "sed -i \"s/versionCode [0-9]*/versionCode ${VERSION_CODE}/\" Android/simpleDemo/build.gradle" } } }