代码之家  ›  专栏  ›  技术社区  ›  bish

增量Maven项目.版本在Jenkins管道中使用buildhelper插件

  •  0
  • bish  · 技术社区  · 7 年前

    你可以用 maven-build-helper-plugin 解析版本,然后使用 maven-version-plugin 设置新版本(请参见此 blog ):

    clean build-helper:parse-version versions:set -DnewVersion=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.nextIncrementalVersion} versions:commit
    

    现在我正在尝试将我所有的Maven工作转换为pipeline工作。

    withMaven(
      // Maven-Installation
      maven: "${MavenHelper.MAVEN3D3D9}") {
    
      String command = 'mvn build-helper:parse-version versions:set -DnewVersion=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.nextIncrementalVersion} versions:commit -f ' + komponente.getPomPath()
    
      sh(command)      
    } 
    

    这总是给我一个好印象 bad substitution shell脚本尝试解析这些变量时出错。但在这种情况下,变量由 maven build helper插件 在执行期间。

    新版本=${parsedVersion.majorVersion版本}.${parsedVersion.minorVersion版本}.${parsedVersion.nextIncrementalVersion版本}:替换错误

    DnewVersion=\${parsedVersion.majorVersion}.... 但仍然得到同样的错误。

    在将其传递给版本插件之前,不需要手动增加它的任何建议。

    1 回复  |  直到 7 年前
        1
  •  1
  •   wirnse    7 年前

    pipeline {
        agent any
        tools {
            maven 'Maven 3.6.0'
        }
        stages {
            stage('Change Version') {
                steps {
                    sh 'mvn build-helper:parse-version versions:set -DnewVersion=\\${parsedVersion.majorVersion}.\\${parsedVersion.minorVersion}.\\${parsedVersion.nextIncrementalVersion}'
                    sh "mvn build-helper:parse-version versions:set -DnewVersion=\\\${parsedVersion.majorVersion}.\\\${parsedVersion.minorVersion}.\\\${parsedVersion.nextIncrementalVersion}"
                }
            }
        }
    }