Инкремент Maven project.version с использованием build-helper-plugin в конвейере Jenkins - PullRequest
0 голосов
/ 09 декабря 2018

Вы можете использовать maven-build-helper-plugin для анализа версии, а затем использовать maven-version-plugin для установки новых версий (см. блог ):

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

Это прекрасно работает, когдакоманда выполняется как шаг цели maven-prebuild в Maven-задании.

Теперь я пытаюсь преобразовать все задания Maven в конвейерные задания.

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, поскольку скрипт оболочки пытается проанализировать эти переменные.Но в этом контексте переменные заполняются maven-build-helper-plugin во время выполнения.

DnewVersion = $ {parsedVersion.majorVersion}. $ {ParsedVersion.minorVersion}. $ {ParsedVersion.nextIncrementalVersion}: плохая замена

Я уже пытался избежать их через DnewVersion=\${parsedVersion.majorVersion}...., но все равно получаю ту же ошибку.

Любой совет, чтобы заставить его работать, не увеличивая его вручную, прежде чем передать его плагину версии.

1 Ответ

0 голосов
/ 10 декабря 2018

Работает следующее:

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}"
            }
        }
    }
}
...