뭐든 즐기면서 ;)

Jenkins 설치 2 - jdk 설치 및 JAVA_HOME설정 본문

서버/JENKINS

Jenkins 설치 2 - jdk 설치 및 JAVA_HOME설정

Tada.*+ 2022. 9. 30. 17:10
728x90

Jenkins 설치

 

1. 젠킨스 설치 https://pkg.jenkins.io/redhat/

2. jdk 설치 및 환경변수 설정 후 젠킨스 실행

3. 젠킨스 설정

 

진행 전 jdk를 설치하는 이유에 대해 설명드리겟습니다.

Jenkins는 java로 만들어진 app으로서 jdk에 의해 실행되어 집니다. 해서, JAVA_HOME(java 경로)를 잡아주어야 합니다. 잘못된 jdk버전을 사용하여 jenkins를 실행하였을 경우, systemctl start jenkins.service를 하였을 때 아래와 같은 에러 메세지를 마주치게 될 것입니다.

Jenkins requires Java versions [17, 11] but you are running with Java 1.8 from /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-1.el7.x86_64/jre

설치를 진행해 보도록 하겠습니다.


1. jdk 설치

  • jdk 설치 확인 및 version 확인

  • jdk 11버전이 필요하여 11버전 설치를 진행합니다.
  • yum list java*jdk-devel 명령어로 설치가능한 jdk 버전을 확인합니다.
[root@ip:~]yum list java*jdk-devel
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
 * epel: mirror.01link.hk
 * extras: mirror.kakao.com
 * updates: mirror.kakao.com
Available Packages
java-1.6.0-openjdk-devel.x86_64		1:1.6.0.41-1.13.13.1.el7_3                                                                                       base
java-1.7.0-openjdk-devel.x86_64     1:1.7.0.261-2.6.22.2.el7_8                                                                                       base
java-1.8.0-openjdk-devel.i686       1:1.8.0.332.b09-1.el7_9                                                                                          updates
java-1.8.0-openjdk-devel.x86_64     1:1.8.0.332.b09-1.el7_9                                                                                          updates
java-11-openjdk-devel.i686          1:11.0.15.0.9-2.el7_9                                                                                            updates
java-11-openjdk-devel.x86_64        1:11.0.15.0.9-2.el7_9                                                                                            updates
java-latest-openjdk-devel.x86_64    1:18.0.1.0.10-1.rolling.el7
  • yum install 명령어를 통해 jdk를 설치합니다. (중간에 y 입력을 한 번 해야할 것입니다.)

** 몇 달 전 jenkins 설치 진행한 글을 참고하여 작성 중이기에, jdk 8 버전을 설치했던 글을 끌어왔습니다. 이점 주의해 주세요. ^-^;

[root@ip:~]yum install java-1.8.0-openjdk-devel.x86_64
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
 * epel: mirror.01link.hk
 * extras: mirror.kakao.com
 * updates: mirror.kakao.com
Resolving Dependencies
--> Running transaction check
---> Package java-1.8.0-openjdk-devel.x86_64 1:1.8.0.332.b09-1.el7_9 will be installed
--> Processing Dependency: java-1.8.0-openjdk(x86-64) = 1:1.8.0.332.b09-1.el7_9 for package: 1:java-1.8.0-openjdk-devel-1.8.0.332.b09-1.el7_9.x86_64
--> Running transaction check
---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.222.b03-1.el7 will be updated
---> Package java-1.8.0-openjdk.x86_64 1:1.8.0.332.b09-1.el7_9 will be an update
--> Processing Dependency: java-1.8.0-openjdk-headless(x86-64) = 1:1.8.0.332.b09-1.el7_9 for package: 1:java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64
--> Running transaction check
---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.222.b03-1.el7 will be updated
---> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.332.b09-1.el7_9 will be an update
--> Processing Dependency: tzdata-java >= 2021e for package: 1:java-1.8.0-openjdk-headless-1.8.0.332.b09-1.el7_9.x86_64
--> Running transaction check
---> Package tzdata-java.noarch 0:2019b-1.el7 will be updated
---> Package tzdata-java.noarch 0:2022a-1.el7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================================================================================================================================================================================
 Package                                                             Arch                                           Version                                                            Repository                                       Size
=============================================================================================================================================================================================================================================
Installing:
 java-1.8.0-openjdk-devel                                            x86_64                                         1:1.8.0.332.b09-1.el7_9                                            updates                                         9.8 M
Updating for dependencies:
 java-1.8.0-openjdk                                                  x86_64                                         1:1.8.0.332.b09-1.el7_9                                            updates                                         314 k
 java-1.8.0-openjdk-headless                                         x86_64                                         1:1.8.0.332.b09-1.el7_9                                            updates                                          33 M
 tzdata-java                                                         noarch                                         2022a-1.el7                                                        updates                                         190 k

Transaction Summary
=============================================================================================================================================================================================================================================
Install  1 Package
Upgrade             ( 3 Dependent packages)

Total download size: 43 M
Is this ok [y/d/N]: y
Downloading packages:
No Presto metadata available for updates
(1/4): java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64.rpm                                                                                                                                                            | 314 kB  00:00:00
(2/4): java-1.8.0-openjdk-devel-1.8.0.332.b09-1.el7_9.x86_64.rpm                                                                                                                                                      | 9.8 MB  00:00:00
(3/4): tzdata-java-2022a-1.el7.noarch.rpm                                                                                                                                                                             | 190 kB  00:00:00
(4/4): java-1.8.0-openjdk-headless-1.8.0.332.b09-1.el7_9.x86_64.rpm                                                                                                                                                   |  33 MB  00:00:01
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                                                                                         32 MB/s |  43 MB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : tzdata-java-2022a-1.el7.noarch                                                                                                                                                                                            1/7
  Updating   : 1:java-1.8.0-openjdk-headless-1.8.0.332.b09-1.el7_9.x86_64                                                                                                                                                                2/7
warning: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/blacklisted.certs created as /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/blacklisted.certs.rpmnew
warning: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/java.policy created as /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/java.policy.rpmnew
warning: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/java.security created as /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/java.security.rpmnew
restored /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/blacklisted.certs.rpmnew to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/blacklisted.certs
restored /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/java.policy.rpmnew to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/java.policy
restored /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/java.security.rpmnew to /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64/jre/lib/security/java.security
  Updating   : 1:java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64                                                                                                                                                                         3/7
  Installing : 1:java-1.8.0-openjdk-devel-1.8.0.332.b09-1.el7_9.x86_64                                                                                                                                                                   4/7
  Cleanup    : 1:java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64                                                                                                                                                                           5/7
  Cleanup    : 1:java-1.8.0-openjdk-headless-1.8.0.222.b03-1.el7.x86_64                                                                                                                                                                  6/7
  Cleanup    : tzdata-java-2019b-1.el7.noarch                                                                                                                                                                                            7/7
  Verifying  : tzdata-java-2022a-1.el7.noarch                                                                                                                                                                                            1/7
  Verifying  : 1:java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64                                                                                                                                                                         2/7
  Verifying  : 1:java-1.8.0-openjdk-headless-1.8.0.332.b09-1.el7_9.x86_64                                                                                                                                                                3/7
  Verifying  : 1:java-1.8.0-openjdk-devel-1.8.0.332.b09-1.el7_9.x86_64                                                                                                                                                                   4/7
  Verifying  : 1:java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64                                                                                                                                                                           5/7
  Verifying  : tzdata-java-2019b-1.el7.noarch                                                                                                                                                                                            6/7
  Verifying  : 1:java-1.8.0-openjdk-headless-1.8.0.222.b03-1.el7.x86_64                                                                                                                                                                  7/7

Installed:
  java-1.8.0-openjdk-devel.x86_64 1:1.8.0.332.b09-1.el7_9

Dependency Updated:
  java-1.8.0-openjdk.x86_64 1:1.8.0.332.b09-1.el7_9                                java-1.8.0-openjdk-headless.x86_64 1:1.8.0.332.b09-1.el7_9                                tzdata-java.noarch 0:2022a-1.el7

Complete!
  • 설치 확인
> ll /usr/lib/jvm/

2. JDK(JAVA_HOME) 설정

(필자는 전체 환경변수 'export JAVA_HOME=~'를 이용하지 않고, jenkins만 jdk 11버전을 사용하도록 설정해 보겠습니다.)

  • vim /etc/sysconfig/jenkins 파일 내에 JENKINS_JAVA_CMD="JAVA경로" 를 수정합니다.
  • vim /usr/lib/systemd/system/jenkins.service 파일 내에 Environment="JAVA_HOME=JAVA경로" 를 수정합니다.
  • 수정 후 demon reload를 해줘야 합니다.
> vim /etc/sysconfig/jenkins
> vim /usr/lib/systemd/system/jenkins.service
> systemctl daemon-reload

3. JENKINS 실행

> systemctl start jenkins.service

# 실행확인
> ps -ef | grep jenkins
jenkins  32345     1 99 16:27 ?        00:00:53 /usr/lib/jvm/java-11-openjdk-11.0.16.1.1-1.el7_9.x86_64/bin/java -Djava.awt.headless=true -jar /usr/share/java/jenkins.war --webroot=%C/jenkins/war --httpPort=8082


1-2. jdk가 이미 설치되어 있으며, alternative를 사용하고 있는 경우.

  • which javac명령어를 통해 javac 명령어의 위치를 확인합니다. java의 경로를 확인하여 위에 적어드린 것과 같이 jenkins java_home 설정을 해주시면 됩니다.
[root@ip:~]which javac
/usr/bin/which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
# javac가 없다고 나옴.

# java 설치 경로를 찾아가 확인해 봅니다.
[root@ip:~]which java
/usr/bin/java

# 확인해 보니 alternatives를 사용하는 중.
lrwxrwxrwx. 1 root root 22 9월 30 2019 java -> /etc/alternatives/java

# link된 경로를 찾아가 보니 jdk 설치 경로를 확인할 수 있었다.
lrwxrwxrwx. 1 root root 71  9월 30  2019 java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b03-1.el7.x86_64/jre/bin/java
728x90
Comments