Как автоматически увеличить XML-значение elt в jenkins - PullRequest
0 голосов
/ 21 января 2019

В моем репозитории проекта есть XML-файл, который после оформления заказа я хочу автоматически увеличивать последнее значение номера версии для каждой сборки.Я уже обращаюсь к номеру версии с помощью xmlslurper и храню его в переменной.У меня есть что-то вроде этого в моем конвейерном скрипте, и мой xml-файл представляет собой однострочный скрипт с 1.0.0.0, и мне будет нравиться автоматическое увеличение последней цифры для каждой сборки.NB: я не хочу использовать номер сборки Дженкинса.Это было бы легко, просто изменив последнюю цифру на $ BUILD_NUMBER в моем репо проекта.

@NonCPS

String getVersion(String path) 
{
  def version = new xmlSlurper().parse(new File(path))
  return version.toString()
}

node 
{


 stage ('checkout') {
 .........

 }

stage ('build) {
def pwd2=pwd()
def v=getVersion("${pwd2}/VersionNumber.xml")


sh ' dotnet publish path/to/project -p:Fileversion=$v '

 }
}

1 Ответ

0 голосов
/ 21 января 2019

Плагин для этого не существует, так что я думаю, вы можете просто пойти с Groovy.Если вам не нравится номер сборки, попробуйте это

def test = "1.1.1.1"
def splitted = test.split('\\.')
splitted[3] = (((splitted[3] as BigDecimal) + 1) as String)
def testInc = splitted.join('.')
print(testInc)

Для подхода с номером сборки, я бы предложил сохранить всю версию в jenkinsfile, она должна быть простой:

def version = "1.0.0.${env.BUILD_NUMBER}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...