Я пытаюсь выяснить, могу ли я получить значение переменной, объявленной внутри программы Java или maven-плагина, и сохранить его в переменной среды Jenkins.
Это связано с тем, что файл Jenkins должен создать новую ветку git из dev и назвать ее, например, Release-9.0.86
, но номер версии находится внутри pom.xml
.
Я уже написал maven-plugin, который извлекает версию из pom.xml
и записывает ее в другой файл XML, но мне нужно знать, могу ли я отправить версию Jenkins для ее обработки.
Возможно, вы могли бы создать файл свойств вместо файла xml с необходимой информацией. Пример содержимого созданного branch-name.properties
файла:
NEW_BRANCH_NAME=Release-9.0.86
Затем вы можете добавить шаг сборки «Внедрить переменные среды» после того, который создает файл свойств, и настроить его для чтения только что созданного файла свойств.
Properties File Path: branch-name.properties
После этого вы можете использовать переменные среды, как обычно, в сборке jenkins, например, «выполнить оболочку» шаг сборки, которая создает ветку:
git branch ${NEW_BRANCH_NAME}
Чтобы затем отправить только что созданную ветку, вы можете добавить «Git Publisher» действие после сборки.
Branch to push: ${NEW_BRANCH_NAME}
Обратите внимание, что может быть полезно настроить Git Publisher на «Отправлять только в случае успешной сборки», т. е. ветка не будет создана, если сборка по какой-либо причине не удалась.
Возможный дубликат Получение версии проекта из Maven POM в Дженкинсе