如何将build.gradle中的版本提取到Jenkins管道

如何将build.gradle中的版本提取到Jenkins管道,jenkins,continuous-integration,jenkins-pipeline,jenkins-groovy,Jenkins,Continuous Integration,Jenkins Pipeline,Jenkins Groovy,我正试图从build.gradle中提取我的应用程序版本,但我没有达到我想要的程度 在我的build.gradle上,我有几个属性和我想要的属性: 版本='1.4.1-SNAPSHOT' 因此,在我的詹金斯档案中,我做到了: def version_value = sh(returnStdout: true, script: "cat build.gradle | grep -o 'version = [^,]*'").trim() sh "echo Project in version val

我正试图从build.gradle中提取我的应用程序版本,但我没有达到我想要的程度

在我的build.gradle上,我有几个属性和我想要的属性:

版本='1.4.1-SNAPSHOT'

因此,在我的詹金斯档案中,我做到了:

def version_value = sh(returnStdout: true, script: "cat build.gradle | grep -o 'version = [^,]*'").trim()
sh "echo Project in version value: $version_value"
def version = version_value.substring(0, version_value.indexOf('='))
sh "echo final version: $version"
我得到了以下错误:

+ cat build.gradle
+ grep -o version = [^,]*
[Pipeline] sh
[QR_CODE_GATEWAY] Running shell script
+ echo Building project in version value: version = 1.4.1-SNAPSHOT
Project in version value: version = 1.4.1-SNAPSHOT
+ version = 
/var/jenkins_home/workspace/PROJECT@tmp/durable-bbc0290d/script.sh: 3: /var/jenkins_home/workspace/PROJECT@tmp/durable-bbc0290d/script.sh: version: not found
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: script returned exit code 127
Finished: FAILURE
我感谢你的帮助。
谢谢

您应该尝试使用
split
将字符串从“=”符号切割成两个数组。然后取第二个数组
[1]

def version_value = sh(returnStdout: true, script: "cat build.gradle | grep -o 'version = [^,]*'").trim()
sh "echo Project in version value: $version_value"
def version = version_value.split(/=/)[1]
sh "echo final version: $version"