Server

[Jenkins] Linux에 jenkins 설치 2

devhyen 2024. 7. 29. 14:44

기존 java가 8버전으로 설치되어있어서 이전 버전 jenkins로 설치는 완료했으나,

플러그인 호환문제가 발생하였다. 

 

JAVA_HOME을 바꾸지 않고 jenkins에서만 java 17버전을 설정해서 사용하는 방법으로 재설치 하였다. 

 

기존 jenkins 삭제 

# jenkins 서버 중지
systemctl stop jenkins

# 서비스 제거 
systemctl disable jenkins

# jenkins 삭제
yum remove jenkins

# 관련 파일 모두 삭제 
rm /etc/init.d/jenkins
rm -rf /var/lib/jenkins
rm -rf /etc/yum.repos.d/jenkins

 

Open JDK 17 설치

CentOS7 에서는 yum 으로는 open JDK 11 까지만 지원이 되기 때문에 아래의 방법으로 설치해야 한다.

# 압축파일 다운로드 
cd /tmp
### Linux 64-bit ###
wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz

# 압축 해제
tar -xvf openjdk-17.0.2_linux-x64_bin.tar.gz

# 폴더 이동
mv jdk-17.0.2/ /opt/jdk-17/

 

Jenkins 설치

sudo wget -O /etc/yum.repos.d/jenkins.repo \
    https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install fontconfig java-17-openjdk
sudo yum install jenkins
sudo systemctl daemon-reload

 

서비스 파일 수정

open JDK 17을 사용ㄴ하도록 Jenkins 서비스 파일을 수정해야한다. 

경로는 일반적으로

/etc/systemd/system/jenkins.service 

또는 

/usr/lib/systemd/system/jenkins.service 에 위치한다. 

vi 명령어로 해당 파일에 접근한 뒤 

[Unit]
Description=Jenkins Continuous Integration Server
After=network.target

[Service]
Environment="JAVA_HOME=/opt/jdk-17"
Environment="JENKINS_HOME=/var/lib/jenkins"
ExecStart=/usr/bin/java -Djava.awt.headless=true -jar /usr/lib/jenkins/jenkins.war
User=jenkins
Group=jenkins
Restart=always
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

위 코드처럼 JAVA_HOME 문장을 추가해주고 저장한다. 

 

jenkins 시작

sudo systemctl daemon-reload
sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo systemctl status jenkins