我正在尝试使用Jenkins开发一种自动化功能来提升项目版本。对于节点项目,我已经使用npm version {version}
实现了这种自动化,但对于gradle项目,我还没有实现。我刚刚在build.gradle上获得了这个版本,其中包含:
dir('examples/gradle'){
def version = sh(returnStdout: true, script: "cat build.gradle | grep -o 'project.version = [^,]*'").trim()
gradleProjectVersion = version.split(/=/)[1].trim()
}
现在,我需要知道一个类似于npm version {version}
但适用于gradle的命令,这样我就可以使用分支名称中获得的值来提升项目版本(并且我已经拥有发布分支中的值)。
我尝试了几个命令,我发现这里,我最后一次尝试是:
dir('examples/gradle'){
docker.image('gradle:6.8-jdk11').inside('-v /gradle:/home/gradle/.gradle/caches'){
sh(script: "gradle -PprojVersion=${newProjectVersion}")
}
sh("git add .")
sh("git commit -m \"chore(build.gradle): bump version to ${newProjectVersion}\"")
}
但它不会更改项目版本。
1条答案
按热度按时间dxxyhpgq1#
我使用“writeFile”解决了这个问题。现在,我的管道可以覆盖Gradle中的项目版本。以下是我使用的代码: