[Jenkins] 여러 JDK 설치해서 골라 사용하기

by 스뎅(thDeng) on

Jenkins에서 각 job 마다 실행할 JDK 버전이 다른 경우가 있다. 각 job의 언어가 다르거나, 각 프로젝트 단위로 JDK 버전업을 진행하고 있을 수 있다. 이럴 때는 Jenkins에 JDK를 설정해두고 선택해서 사용할 수 있다.

JDK 설치

원하는 JDK를 설치한다. 끗. (읭??)

Jenkins에 JDK 경로 추가

Jenkins에 설치한 JDK 경로를 추가해 주기 위해 Tools 화면으로 이동한다. 오래된 Jenkins 버전의 경우는 Global Tool Configuration화면으로 이동해야 하는데, 더 오래된 버전은 Configure System (시스템 설정)에 JDK 설정 메뉴가 있다. Jenkins 버전업을 자주 하는 것이 아니라, 몇 버전 부터 이전 화면인지 특정 짓기는 어렵다. 메뉴명에 따라 잘 선택해 본다.

Manage Jenkins > Tools > JDK > JDK installation
Jenkins 설정 > Global Tool Configuration > JDK > JDK installation

최근 버전

3-4년 전 버전과 그 사이 경로와 화면이 꽤 바뀌어서 이 글의 스크린샷 등을 최신 버전으로 업데이트를 해두고, 이전 버전은 아랫쪽에 별도로 모아두니 이전 버전은 아랫쪽 스크린샷을 참조한다.

Image

Image

JDK 섹션에서 ADD JDK를 클릭해서 골라서 사용할 JDK를 등록한다.

Image

이전 버전

Image

Image

JDK 섹션에서 ADD JDK를 클릭해서 골라서 사용할 JDK를 등록한다.

Image

아래처럼 Install automatically를 선택하면 JDK를 수동으로 설치하지 않아도 된다. 하지만 여기서 설치되는 JDK는 Oracle JDK이고, 무료 버전인 9 까지만 지원하고 유료를 쓰는 경우는 별도의 계정 설정이 필요하다.

Image

Job 설정

이제 job 설정에서 실행할 JDK를 선택하면 된다. Global Tool Configuration에서 설정한 JDK 이름이 보인다.

Image

Jenkinsfile을 사용하는 경우 (pipeline)

Jenkinsfile을 사용하는 경우에는 아래 설정을 추가하면 된다. Global Tool Configuration에서 설정한 JDK의 이름을 써주면 된다.

pipeline {
  tools {
    jdk("Adopt openJDK 11")
  }
}

참고

별도로 명시하지 않을 경우, 이 블로그의 포스트는 다음 라이선스에 따라 사용할 수 있습니다: Creative Commons License CC Attribution-NonCommercial-ShareAlike 4.0 International License