Jenkins: Como usar uma variável de um shell de pré-compilação no Maven “Metas e opções”

Eu tenho um trabalho Maven em Jenkins. Antes da etapa de criação real, tenho uma etapa de pré-compilação "Executar shell". Nesse shell eu defino uma variável:

REVISION=$(cat .build_revision)

Eu gostaria de usar essa variável no trabalho de construção do Maven em "Metas e opções":

clean install -Drevision=${REVISION}

Mas isso não funciona! A "drevision" está definida como "$ {REVISION}" e não o valor real de $ {REVISION}. Saída:

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

Funciona com variáveis ​​de ambiente do Jenkins:

clean install -Dbuild=${BUILD_NUMBER}

Define "Dbuild" para o número de compilação atual. Saída:

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

Minha pergunta: Como usar uma variável de shell no Maven "Metas e opções"?

EDITAR:

Eu tentei usarPlugin Jenkins EnvInject para "Injectar variáveis ​​de ambiente" após o shell de pré-compilação, e minha variável agora está acessível, por exemplo, post-build shells, mas ainda não está disponível no Maven "Goals and options".

Então é possível definir "Injectar variáveis ​​de ambiente para o processo de construção" usando o EnvInject Plugin, que realmente disponibiliza essas variáveis ​​no Maven "Metas e opções", mas elas são definidas logo após a verificação do SCM, ou seja, antes das etapas de pré-compilação e não suportam avaliações de expressão.

questionAnswers(5)

yourAnswerToTheQuestion