Сценарий сборки имеет следующие строки:
if [ -z "$JAVA_HOME" ]; then
export JAVA_HOME="$(dirname "$(dirname "$(readlink -e "$(type -p "javac")")")")"
echo "JAVA_HOME=$JAVA_HOME"
fi
, который хорошо работает, когда помещается в sh "", но при помещении в файл bash и во время его работы выдает ошибку:
stage ('Build') {
sh '''
if [ -z "$JAVA_HOME" ]; then
export JAVA_HOME="$(dirname "$(dirname "$(readlink -e "$(type -p "javac")")")")"
echo "JAVA_HOME=$JAVA_HOME"
fi
sudo bash ./build
'''
}
Консольный вывод:
+ '[' -z /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64 ']'
+ sudo bash ./build
running: ./build
+ trap '>&2 echo '\''ERR'\'' && exit -1' ERR
./build: line 10: JAVA_HOME: unbound variable