Ответ
Для версионирования в Jenkins можно использовать:
- Параметризованные сборки - передача версии через BUILD_VERSION
- Version Number Plugin - автоматическая генерация версий по шаблону (1.0.${BUILD_NUMBER})
- Git Tags - создание тегов после успешной сборки:
pipeline {
stages {
stage('Build') {
steps {
sh 'mvn package'
}
}
stage('Tag') {
steps {
withCredentials([usernamePassword(credentialsId: 'git-creds', usernameVariable: 'GIT_USER', passwordVariable: 'GIT_PASS')]) {
sh '''
git tag -a v${BUILD_VERSION} -m "Jenkins build ${BUILD_NUMBER}"
git push origin v${BUILD_VERSION}
'''
}
}
}
}
}
Лучшие практики:
- Хранить версию в отдельном файле (VERSION, package.json)
- Использовать семантическое версионирование (MAJOR.MINOR.PATCH)
- Автоматически увеличивать версию при мердже в main