提交jenkins自动化流水线

This commit is contained in:
Home
2026-03-29 02:58:26 +08:00
parent 053ca3607a
commit 9eaff717c4
Vendored
+14 -8
View File
@@ -11,17 +11,24 @@ pipeline {
ANDROID_SDK = '/opt/android-sdk' // 安卓 SDK 路径
}
stages {
stage('读取 manifest 版本号 (Node原生解析·零依赖)') {
stage('读取 manifest 版本号(支持注释·稳定版)') {
steps {
script {
// ✅ 用 Node 读取,100% 稳定,不用装任何工具!
// 路径是 ./src/manifest.json !!!你之前路径错了
def manifestPath = './src/manifest.json'
// 读取并去掉注释,再解析(完美支持你的文件)
VERSION_NAME = sh(
script: "node -p \"require('./src/manifest.json').versionName\"",
script: """
node -p "const fs=require('fs');JSON.parse(fs.readFileSync('${manifestPath}','utf8').replace(/\\/\\/.*/g,'')).versionName"
""",
returnStdout: true
).trim()
VERSION_CODE = sh(
script: "node -p \"require('./src/manifest.json').versionCode\"",
script: """
node -p "const fs=require('fs');JSON.parse(fs.readFileSync('${manifestPath}','utf8').replace(/\\/\\/.*/g,'')).versionCode"
""",
returnStdout: true
).trim()
@@ -30,10 +37,9 @@ pipeline {
echo " 版本号:${VERSION_CODE}"
echo "====================================="
// // 自动替换到 Android build.gradle
// def buildFile = "Android/simpleDemo/build.gradle"
// sh "sed -i \"s/versionName \\".*\\"/versionName \\"${VERSION_NAME}\\"/\" ${buildFile}"
// sh "sed -i \"s/versionCode [0-9]*/versionCode ${VERSION_CODE}/\" ${buildFile}"
// // 替换到安卓 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"
}
}
}