
Este es el registro que obtengo:
[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)
¿Hay alguna forma de configurar las variables correctas a través de Jenkins antes (!) de ejecutar java -jar slave.jar
? Intenté configurar las variables de entorno en la sección Propiedades del nodo de Jenkins, pero no se aplican antes de la instalación esclava. (cf. estoinforme de error)
Lo único que Jenkins debería hacer antes java -jar slave.jar
es ejecutar lo siguiente:
JAVA_HOME=/opt/app/java17; export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH; export PATH
¿Cómo puedo hacer esto?
Respuesta1
Respuesta2
Puedes actualizar tu versión de Jenkins, lo solucionará. De lo contrario, esto funcionó para mí (Jenkins 1.6, nodo de compilación/prueba: macOS Mojave):
Primero instale java8en su nodo de compilación/pruebausando los comandos:
brew update
brew cask install caskroom/versions/java8
Luego, en el panel web de Jenkins, haga clic en su nodo de compilación/prueba, luego haga clic enConfigurary luego haga clic en elAvanzado..., esto le mostrará múltiples campos de texto. Luego, en el campo JavaPath, agregue la ruta a su archivo java8.
Para mí este camino es como:
/Library/Java/JavaVirtualMachines/jdk1.8.X_XXX.jdk/Contents/Home/bin/java
Nota:Recuerde reemplazarlo X_XXX
con su versión java8 antes.
EntoncesAhorrar.
Después de eso, desconecte el nodo de compilación/prueba y conéctelo nuevamente. Esto deberia resolver el problema.