Дженкинс: Как использовать переменную из оболочки перед сборкой в Maven «Цели и варианты»

У меня есть работа Maven в Дженкинс. Перед фактическим этапом сборки у меня есть шаг предварительной сборки «Execute shell». В этой оболочке я установил переменную:

REVISION=$(cat .build_revision)

Я хотел бы использовать эту переменную в сборочном задании Maven в разделе «Цели и варианты»:

clean install -Drevision=${REVISION}

Но это не работает! «Drevision» имеет значение «$ {REVISION}», а не фактическое значение $ {REVISION}. Выход:

Executing Maven:  -B -f /home/gerrit/.jenkins/jobs/<job_name>/workspace/pom.xml clean install -Drevision=${REVISION}

Он работает с переменными среды Jenkins:

clean install -Dbuild=${BUILD_NUMBER}

Он устанавливает "Dbuild" на фактический номер сборки. Выход:

Executing Maven:  -B -f /home/gerrit/.jenkins/jobs/<job_name>/workspace/pom.xml clean install -Dbuild=54

Мой вопрос: как использовать переменную оболочки в Maven "Цели и варианты" ??

РЕДАКТИРОВАТЬ:

Я пытался с помощьюПлагин Jenkins EnvInject «Ввести переменные окружения» после предварительной сборки, и моя переменная теперь доступна, например, оболочки после постройки, но в Maven она по-прежнему недоступна в разделе «Цели и варианты».

Затем можно установить «Внедрить переменные среды в процесс сборки» с помощью плагина EnvInject, который фактически делает эти переменные доступными в «Целях и опциях» Maven, но они устанавливаются сразу после проверки SCM, т.е. перед шагами перед сборкой, и не поддерживают оценку выражений.

Ответы на вопрос(5)

Ваш ответ на вопрос