Решено, добавив '-SNAPSHOT' в версию филиала. Трудно получить Maven в Дженкинсе, чтобы использовать правильную версию. Теперь я решил, что это так. В задании сборки сконфигурируйте Git для построения ветвей origin/feature/*
. Тогда:
В разделе «сборки», первое, что нужно сделать, это выполнить команду оболочки, чтобы построить файл «env.properties», содержащий версию особенность ветви, которые будут использоваться в Maven команду строить.
echo BRANCH_VERSION="feature_${GIT_BRANCH##*/}-SNAPSHOT" > env.properties
Это использует свойство среды GIT_BRANCH Дженкинса. «## * /» - это номер Bash Shell Parameter Expansion, который удаляет все из значения параметра, за исключением части после последнего символа «/».
Затем используйте команду Environment Injector Plugin для «впрыскивания переменных среды» в задание построения с использованием «env.properties», созданного на предыдущем шаге. Поместите 'env.properties' в поле «Путь к файлу свойств».
Используйте Maven для создания версии с правильной версией с использованием команды «Вызовите цели Maven верхнего уровня»: help:effective-pom -Dbuild.number=${BRANCH_VERSION} -Doutput=versioned-pom.xml
. Этот шаг необходим, потому что иначе pom в артефакте jar не содержит правильную версию, вызывающую другие проблемы.
Используйте другой «Призовите Maven целевых показателей верхнего уровня» шаг для фактического создания и развертывания с помощью версии POM, созданную в предыдущем шаге: -f versioned-pom.xml clean source:jar deploy
Это все люди. Если кто-нибудь знает более простое решение, дайте мне знать.
Я хотел развернуть сборку ветки функций, так что зависимые проекты также могут быть построены и протестированы. Сделав некоторое расстояние за выходные и переосмыслив об этом, я пришел к такому же выводу. Да, это вещь Maven, и самое простое решение - просто добавить «-SNAPSHOT» в версию филиала. –