【问题标题】:incrementing maven version through jenkins declarative pipeline通过 jenkins 声明性管道增加 maven 版本
【发布时间】:2019-10-03 02:16:09
【问题描述】:

我正在尝试通过 Jenkins 增加我的 pom 版本,但在 Jenkins 声明性管道的脚本元素方面遇到了许多问题。 我的目标是:

  1. Jenkins 从 SCM 中提取代码
  2. 运行 maven 插件
  3. pom 中应用程序的增量版本
  4. 将新的 pom 合并回 SCM

我已设法从版本中删除“-SNAPSHOT”,并将版本(例如 1.0.0)存储在管道脚本元素内的变量中。然后我无法使用该变量来增加它。

pipeline { agent any tools { maven 'maven' } stages { stage ('Git checkout branch') { steps { git branch: 'branch', credentialsId: '****', url: 'https://projectRepo' } } stage ('Increment snapshot') { steps { dir('directory') { //Remove snapshot from version in pom sh 'mvn versions:set -DremoveSnapshot' script { //Get the version and assign to variable 'version' version = '$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)' } //content of version can only be accessed by ${version} sh "echo ${version}" } } } } }

我的目标是在脚本标签中获取版本,然后执行这样的拆分 .split("\."),然后增加最后一个数字,然后,当我发布时,我将使用 maven使用新版本更新 pom 的标志,并在版本末尾添加 -SNAPSHOT

【问题讨论】:

    标签: maven jenkins jenkins-declarative-pipeline


    【解决方案1】:

    当您使用 build-helper-maven-plugin 时,您可以将版本解析为其组件:

    https://www.mojohaus.org/build-helper-maven-plugin/parse-version-mojo.html

    这不仅提供majorVersionminorVersion等元素,还提供nextMajorVersionnextMinorVersion等元素。

    【讨论】:

    • 谢谢。以下 mvn 命令允许我增加增量版本,并允许我在版本末尾添加 SNAPHSOT/TEST/RELEASE:mvn build-helper:parse-version versions:set -DnewVersion=\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion}-SNAPSHOT versions:commit
    • 关于信息,上面的 maven 命令在 CLI 中运行良好,但需要更改语法才能在 Jenkins 声明式管道中运行。以下是展示如何在 Jenkins 管道中使用它的阶段和步骤:stage ('Increment snapshot') { steps { dir('PiersDemo') { sh "mvn build-helper:parse-version versions:set -DnewVersion='\${parsedVersion.majorVersion}.\${parsedVersion.minorVersion}.\${parsedVersion.nextIncrementalVersion}-SNAPSHOT' versions:commit" } } }
    猜你喜欢
    • 2018-11-10
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-17
    • 1970-01-01
    相关资源
    最近更新 更多