2016-07-22 2 views
5

Я пытаюсь разобрать мой pom.xml в плагине конвейера jenkins. Я намерен изменить его и сохранить его обратно.Parsing pom.xml файл в конвейере Jenkins

Моя проблема заключается в том, что она дает мне "незакрытый поле версии java.lang.String"

Мой код выглядит следующим образом:

@NonCPS 
groovy.util.Node getPom(path) { 
    new XmlParser().parseText(readFile(path)).version 
} 
node { 
    groovy.util.Node pomNode = getPom("pom.xml") 
    println pomNode 
} 

Аналогичный вопрос обсуждался здесь: Parsing an XML file within a Jenkins pipeline

ответ

7

Почему бы не использовать (для этого вам нужен плагин для этапов утилиты трубопровода):

pom = readMavenPom file: 'pom.xml' 

Теперь у вас есть доступ ко всем данным в pom (как Model).

+0

Идеальный ответ. Правильно и очень быстро. Просто быстрый вопрос, как бы сохранить файл pom после его модификации (я использовал setVersion() для установки версии pom)? –

+0

Вы можете использовать 'writeMavenPom' (см. Https://jenkins.io/doc/pipeline/steps/pipeline-utility-steps/ для справки) –

+0

Еще один очень быстрый, я попытался сохранить, и он сохраняет файл, но в родительском каталоге. Затем я немного исследовал и обнаружил, что есть необязательный параметр «файл», который может быть задан с желаемым путем к файлу. Но я указал, как передать этот параметр файла моему writeMavenPom. Не удалось найти команду примера в любом месте. Еще раз спасибо! –

Смежные вопросы