Какой поддерживаемый способ изменить версию при развертывании для артефакта плагин maven jenkins - PullRequest
0 голосов
/ 08 ноября 2019

Я использую плагин maven jfrog: https://jenkins.io/doc/pipeline/steps/artifactory/#rtmavendeployer-set-maven-deployer

Я хочу изменить версию артефакта при развертывании, чтобы в нем было имя ветви функции

Я попытался запуститьустановить версию цели. это успешно, но просто полностью игнорирует версию

rtMavenRun (
        pom: "pom.xml",
        goals: 'versions:set -DnewVersion=1.2.3-SNAPSHOT clean install',
        resolverId: 'resolver-unique-id',
        deployerId: 'deployer-unique-id'
)

1 Ответ

1 голос
/ 08 ноября 2019

Проблема заключается в следующем: вы называете цель versions:set и фазы clean и install в одном прогоне Maven. Перед выполнением первой цели Maven уже определил версию для всех запущенных целей / этапов. Поэтому вы изменяете версию в POM, но, поскольку Maven уже прочитал ее, вы не сможете увидеть ее во время этого запуска.

Каковы возможные решения?

  • Сначала можно запустить versions:set, а затем clean install в отдельном запуске Maven.
  • Вы можете использовать свойство ${revision} в определении <version>, а затем установить это свойство в командной строке.
...