Я пытаюсь увеличить мою версию pom через Jenkins, но сталкиваюсь со многими проблемами с элементом script декларативного конвейера Jenkins. Моя цель:
- Дженкинс извлекает код из SCM
- Запускать плагины maven
- Увеличение версии приложения в помпе
- Объединить новый помобратно в 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 в конец версии