Получение версии проекта от Maven POM в Дженкинсе - PullRequest
49 голосов
/ 27 марта 2012

Может ли сборка Jenkins узнать номер версии проекта Maven после обработки POM?

У меня есть несколько проектов, в которых управление версиями контролирует Maven, и в пост-сборочной работе мы хотели бы создать пакет Debian и вызвать некоторые сценарии оболочки. Что мне нужно, так это номер версии, которую Maven использовал в качестве переменной среды Jenkins, чтобы я мог передать ее в действия после сборки.

Чтобы было ясно, я не , мне нужно знать, как заставить Дженкинса передать номер версии Maven; вместо этого я хочу, чтобы Мэйвен передал номер версии Дженкинсу!

Ответы [ 11 ]

0 голосов
/ 11 февраля 2014

Вы также можете сделать:

MAVEN_VERSION=`grep A -2 -B 2 "<your_project_name>" pom.xml | grep version | cut -d\> -f 2 | cut -d\< -f 1`-commit-"`echo $GIT_COMMIT`"

Объяснение: при условии, что у вас есть имя проекта в строке или двух над / под версией, как у обычного pom:

<groupId>org.apache.bigtop</groupId>
<artifactId>bigpetstore</artifactId>
<version>1.0-SNAPSHOT</version>

Затем вы можете легко использовать grep для artifactId, использовать действия grep «before / after» для добавления версии к нему, а затем grep версии и использовать простую команду unix «cut», чтобы разделить содержимое между теги "version".

Мне нравится интеграция Jenkins-groovy, но она намного проще и будет работать даже на сервере сборки, который вы не можете контролировать (т. Е. Потому что bash универсален).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...