Дженкинс: Как использовать переменную из оболочки перед сборкой в 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, т.е. перед шагами перед сборкой, и не поддерживают оценку выражений.