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 웹 패널에서 빌드/테스트 노드를 클릭한 다음구성그런 다음고급의...버튼을 클릭하면 여러 텍스트 필드가 표시됩니다. 그런 다음 JavaPath 필드에 java8에 대한 경로를 추가합니다.

나에게 이 경로는 다음과 같습니다.

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

메모:X_XXX이전에 java8 버전으로 교체한 것을 기억하세요 .

그 다음에구하다.

그런 다음 빌드/테스트 노드의 연결을 끊었다가 다시 연결하세요. 이렇게 하면 문제가 해결됩니다.

원천

관련 정보