jenkins의 master/slave간의 SSH 접속으로 java가 없다고 말했을 때의 대처법(docker)

1989 단어 SSHJenkins도커

경위



이 책을 따라 jenkins 컨테이너를 시작했습니다.

Docker/Kubernetes 실천 컨테이너 개발 입문(야마다 아키노리)

책대로 진행하고 있으면 에러가 나 버렸으므로, 비망록으로서 씁니다.

오류 내용



master 컨테이너를 시작할 때 image에 서적대로 jenkinsci/jenkis : 2.142-slim을 지정하면,
플러그인 설치 중 오류가 발생했습니다. 그것은 아래의 기사에서 대처법을 기재해 주었으므로 해결했습니다.
docker로 jenkins 구축 (plugin install error를 발행하지 않음)

내 경우에는 slave와 SSH 연결을 만들 때
다음 오류가 발생하여 SSH 연결이 성공하지 못했습니다.
java.io.IOException: Java not found on hudson.slaves.SlaveComputer@....... Install a Java 8 version on the Agent.
............
............
............
............


이 오류는 java8이 없습니다. 설치해주세요라고합니다.
원래 자바를 찾는 곳이 잘못되어 일어났습니다.

해결책



먼저 docker의 slave 컨테이너 내에서 java가 저장된 디렉토리를 확인해야합니다.
다음 명령을 실행합니다.
##コンテナの中のbashに入ります
$docker exec -it slave01 bash

##コンテナ内でjavaがどこに入っているか調べます
root@[CONTAINER ID]#which jave

위를 실행하여 출력 된 디렉토리
jenkins의 노드 설정 화면에서 지정


빨간색 프레임의 "고급 설정"을 누르면 java 경로라는 항목이 존재하므로 거기에 출력 된 디렉토리를 입력하면 오류가 발생하지 않습니다.


컨테이너의 환경 변수에는 JAVA_HOME이 설정되어 있지만 노드 설정 화면에서 지정하지 않으면 안되는 것 같습니다.

끝에



docker 기인이라기보다, jenkins 기인의 에러였기 때문에, jenkins 알고 있으면 더 간단했다고 생각했습니다.
책은 매우 알기 쉽기 때문에, 개정판을 내 주었으면 한다,,,

좋은 웹페이지 즐겨찾기