Необходимо увеличить версию тега патча на основе releaseVersion в Groovy конвейере. - PullRequest
1 голос
/ 07 ноября 2019

Мне нужно увеличить версию патча на основе 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')              

            """
      }  
    }
  }
}```
...