Установите переменную среды перед установкой slave.jar

2680
Davor Josipovic

Вот журнал, который я получаю:

[09/25/15 11:02:03] [SSH] Opening SSH connection to XXXXXXX:22. [09/25/15 11:02:04] [SSH] Authentication successful. [09/25/15 11:02:04] [SSH] The remote users environment is: ERRNO=22 FCEDIT=/bin/ed HOME=/export/home/xxxx IFS='  ' LC_COLLATE=en_US LC_CTYPE=en_US LC_MESSAGES=C LC_MONETARY=en_US LC_NUMERIC=en_US LC_TIME=en_US LINENO=1 LOGNAME=xxxx MAIL=/var/mail/xxxx MAILCHECK=600 OPTIND=1 PATH=/usr/bin:/bin PPID=27709 PS2='> ' PS3='#? ' PS4='+ ' PWD=/export/home/xxxx RANDOM=23490 SECONDS=0 SHELL=/bin/ksh SSH_CLIENT='xxx.xxx.xxx.xxx 63489 22' SSH_CONNECTION=xxx.xxx.xxx.xxx 63489 xxx.xxx.xxx.xxx22' TMOUT=0 TZ=Europe/Brussels USER=scv2 _ [09/25/15 11:02:04] [SSH] Checking java version of java [09/25/15 11:02:04] [SSH] java -version returned 1.5.0_38. [09/25/15 11:02:04] [SSH] Starting sftp client. [09/25/15 11:02:05] [SSH] Copying latest slave.jar...  [09/25/15 11:02:05] [SSH] Copied 489.023 bytes. Expanded the channel window size to 4MB [09/25/15 11:02:05] [SSH] Starting slave process: cd "./jenkins-slave" && java -jar slave.jar  Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) 

Есть ли способ установить правильные переменные через Jenkins до (!) Запуска java -jar slave.jar? Я попытался установить переменные среды в разделе Свойства узла Jenkins, но они не применяются до установки ведомого. (см. этот отчет об ошибке )

Единственное, что Дженкинс должен сделать до этого, java -jar slave.jarэто запустить следующее:

JAVA_HOME=/opt/app/java17; export JAVA_HOME PATH=$JAVA_HOME/bin:$PATH; export PATH 

Как я могу это сделать?

2

1 ответ на вопрос

3
Davor Josipovic

Нашел это.

Вам не нужны никакие плагины (которые все равно не работают), как предлагают некоторые сообщения на форуме. Вам нужно только указать JavaPath в дополнительных свойствах учетных данных, используемых для подключения к ведомому устройству.

enter image description here