在安裝slave.jar之前設定環境變數

在安裝slave.jar之前設定環境變數

這是我得到的日誌:

[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 的“節點屬性”部分中設定環境變量,但它們在從屬安裝之前不會應用。 (參見本錯誤報告

Jenkins 之前唯一應該做的java -jar slave.jar就是執行以下指令:

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

我怎樣才能做到這一點?

答案1

找到了。

您不需要任何插件(無論如何都不起作用),就像一些論壇帖子建議的那樣。您只需在用於連接從站的憑證的進階屬性下指定 JavaPath。

在此輸入影像描述

答案2

你可以更新你的Jenkins版本,它會解決這個問題。否則這對我有用(Jenkins 1.6,建置/測試節點:macOS Mojave):

首先安裝java8在您的建置/測試節點中使用命令:

brew update
brew cask install caskroom/versions/java8

然後在 Jenkins Web 面板中點擊建置/測試節點,然後按一下配置然後單擊先進的...按鈕,這將顯示多個文字欄位。然後在 JavaPath 欄位中新增 java8.jar 的路徑。

對我來說這條路就像是:

/Library/Java/JavaVirtualMachines/jdk1.8.X_XXX.jdk/Contents/Home/bin/java

筆記:記得替換X_XXX成你之前的java8版本。

然後節省

之後斷開建置/測試節點並再次連接。這應該可以解決問題。

來源

相關內容