如何使用类似于“npm version 1.5.0”的命令在Gradle上迁移项目版本?

nlejzf6q  于 2022-12-19  发布在  其他
关注(0)|答案(1)|浏览(148)

我正在尝试使用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}\"")
}

但它不会更改项目版本。

dxxyhpgq

dxxyhpgq1#

我使用“writeFile”解决了这个问题。现在,我的管道可以覆盖Gradle中的项目版本。以下是我使用的代码:

writeFile file: 'build.gradle', text: readFile('build.gradle').replaceAll(/project.version.*/, "project.version = \"${newProjectVersion}\"")

相关问题