Чтобы импортировать переменную, определенную в вашем скрипте, в текущую оболочку, вы можете использовать команду source
(см. Объяснение для SU ):
# Either via command
source myScript.sh
# Or via built-in synonym
. myScript.sh
Предположим, что ваш скрипт ничего не выводит, вместо этого вы можете вывести переменную, чтобы получить ее в Jenkins:
def myVar = sh(returnStdout: true, script: '. myScript.sh && echo $MY_VARIABLE')
Если из вашего скрипта действительно выводятся данные, вы можете получить последний вывод для каждой оболочки:
(. myScript.sh && echo $MY_VARIABLE) | tail -n1
или через Groovy:
def out = sh(returnStdout: true, script: '. myScript.sh && echo $MY_VARIABLE')
def myVar = out.tokenize('\n')[-1]