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" } } }