увеличение версии maven через декларативный конвейер jenkins - PullRequest
0 голосов
/ 02 октября 2019

Я пытаюсь увеличить мою версию pom через Jenkins, но сталкиваюсь со многими проблемами с элементом script декларативного конвейера Jenkins. Моя цель:

  1. Дженкинс извлекает код из SCM
  2. Запускать плагины maven
  3. Увеличение версии приложения в помпе
  4. Объединить новый помобратно в SCM

Мне удалось удалить '-SNAPSHOT' из версии, и я сохранил версию (например, 1.0.0) в переменной внутри элемента script конвейера. ,Я не могу затем использовать эту переменную, чтобы иметь возможность увеличивать ее.

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 в конец версии

1 Ответ

1 голос
/ 02 октября 2019

Когда вы используете build-helper-maven-plugin, вы можете разобрать версию на ее компоненты:

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

Это предлагает не только такие элементы, как majorVersion и minorVersion, но также nextMajorVersion, nextMinorVersion и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...