2015-04-02 4 views
0

Мы создаем ветви функций в версии 'feature_'. Каждая функция сборки будет выпускать ту же версию. Поскольку это не выпуски, я хочу развернуть артефакты в репо с моментальным снимком, но Nexus не разрешает версии без «SNAPSHOT» в репозитории Snapshot.Как разрешить любую версию в репозитории Snapshot

Как настроить Nexus, чтобы разрешить любую версию в режиме репо?

ответ

1

Решено, добавив '-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

Это все люди. Если кто-нибудь знает более простое решение, дайте мне знать.

1

Это фактически ограничение Maven. Тем не менее, вы все равно можете использовать версию, например feature_x-1.2.3-SNAPSHOT.

Что вы на самом деле пытаетесь достичь?

+0

Я хотел развернуть сборку ветки функций, так что зависимые проекты также могут быть построены и протестированы. Сделав некоторое расстояние за выходные и переосмыслив об этом, я пришел к такому же выводу. Да, это вещь Maven, и самое простое решение - просто добавить «-SNAPSHOT» в версию филиала. –

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