Legen Sie die Umgebungsvariable vor der Installation von slave.jar fest

2091
Davor Josipovic

Dies ist das Protokoll, das ich bekomme:

[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) 

Gibt es eine Möglichkeit, die korrekten Variablen vor dem (!) Laufen über Jenkins einzustellen java -jar slave.jar? Ich habe versucht, die Umgebungsvariablen im Abschnitt Knoteneigenschaften von Jenkins festzulegen, sie werden jedoch vor der Slave-Installation nicht angewendet. (vgl. diesen Fehlerbericht )

Nur, was Jenkins vorher tun sollte, java -jar slave.jarist Folgendes auszuführen:

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

Wie kann ich das machen?

2

1 Antwort auf die Frage

3
Davor Josipovic

Fand es.

Sie benötigen keine Plugins (die sowieso nicht funktionieren), wie einige Forenbeiträge nahelegen. Sie müssen lediglich JavaPath unter den erweiterten Eigenschaften der Anmeldeinformationen angeben, die für die Verbindung zum Slave verwendet werden.