В настоящее время у меня есть сценарий Jenkins DSL, определяющий мой конвейер выпуска (ниже). Мне было интересно, есть ли способ автоматически увеличивать номер версии выпущенного артефакта для каждой сборки, чтобы я мог публиковать его в Nexus с новым уникальным номером версии, а не устанавливать его вручную. В прошлом я использовал плагин, который делает это автоматически с обычными заданиями Jenkins, но я не могу понять, как это сделать с помощью скрипта конвейера.
node('master') {
//input 'Proceed?'
stage 'Checkout'
checkout scm
stage 'Build'
dir('./collector') {
sh "./gradlew clean build -Penv=${ENVIRONMENT}"
}
stage 'Flyway Migrate'
dir('./database') {
sh "./gradlew flywayMigrate -i -Penv=${ENVIRONMENT}"
}
stage 'Run cucumber Tests'
dir('./collector') {
sh "./gradlew cucumber -Penv=${ENVIRONMENT}"
}
stage 'Publish artifact to Nexus'
dir('./collector') {
withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'NEXUS_PASSWORD',
usernameVariable: 'NEXUS_USERNAME', passwordVariable: 'NEXUS_PASSWORD']]) {
sh ("./gradlew publish -Pnexus_username=" + env.NEXUS_USERNAME+" -Pnexus_password=" + env.NEXUS_PASSWORD+ " -Penv=${ENVIRONMENT}--stacktrace")
}
}
//stage ''
}