Мне нужно увеличить версию патча на основе releaseVersion в коде groovy конвейера
, если файл == build-manifest / pp5 / manifest.json
Чтение releaseVersion из манифеста (пример 1.2)Читать все теги в текущем репо. Увеличить версию патча, основанную на releaseVersion. Например, все теги показывают последнюю версию 1.2.5. Прочтите releaseVersion и, если 1.2, увеличьте версию патча до 1.2.6. - или - Если репо имеет 1.2.5, а releaseVersion - 1.3, добавьте тег 1.3.0
. Я кодировал ниже, чтобы извлечь версию тега патча и версию релиза, но как мы можем увеличить его в groovy?
agent {
node {
label 'allinone'
}
}
stages {
stage('Get git tags') {
steps {
checkout([
$class: 'GitSCM',
branches: [[name: "*/master"]],
doGenerateSubmoduleConfigurations: false,
extensions: [[
$class: 'RelativeTargetDirectory',
relativeTargetDir: "${WORKSPACE}"
]],
submoduleCfg: [],
userRemoteConfigs: [[
credentialsId: 'bitbucket-jenkins',
url: "${repo}"
]]
])
}
}
stage('Get upstream branches') {
steps {
script {
dir("${WORKSPACE}") {
sh """
pwd
ls
git for-each-ref --sort=-taggerdate --format '%(tag)' refs/tags
"""
}
}
}
}
stage('Verifying manifest file'){
steps {
sh """
if [ -f manifest.json ]; then echo "File Exist"; fi
export releaseVersion=\$(jq -c .app.releaseVersion manifest.json | sed 's/\"/\\\\\"/g')
"""
}
}
}
}```