새소식

⇥ DevOps Tech 🙋🏻‍♀️/✏️ Jenkins

BACKUPSET 을 이용한 JENKINS 복구 방법

  • -
반응형

기존 JENKINS 가 어떠한 이유로 먹통이 되거나, 이전 시점으로 돌아가고 싶은 경우가 생길 수 있다.
만약 BACKUPSET 을 가지고 있다면, 해당 BACKUP본을 가지고 복구하는 방법에 대해 정리하려고 한다.

 

1. 기존 파일 삭제

복구하기 전에 해당 장비에 남아있는 기존의 젠킨스 관련 파일을 모두 삭제해주자. 
default 값으로 별도의 수정을 하지 않았다면, 아래 포스팅의 내용을 통해 정리할 수 있다.

https://jjoyling.tistory.com/115

 

Jenkins 완전 삭제 방법

1. Jenkins 종료 systemctl stop jenkins.service 2. apt package 관리자로 삭제 apt remove jenkins 3. 관련 디렉토리 삭제 rm -rf /var/lib/jenkins rm /etc/init.d/jenkins rm -rf /var/log/jenkins

jjoyling.tistory.com

 

만약, JENKINS_HOME 등의 정보를 수정했다면, default/jenkins 파일을 통해 확인할 수 있다.

# cat /etc/default/jenkins

...

# location of the jenkins war file
JENKINS_WAR=/usr/share/$NAME/$NAME.war

# jenkins home location
JENKINS_HOME=/var/lib/$NAME

# set this to false if you don't want Jenkins to run by itself
# in this set up, you are expected to provide a servlet container
# to host jenkins.
RUN_STANDALONE=true

# log location.  this may be a syslog facility.priority
JENKINS_LOG=/var/log/$NAME/$NAME.log
#JENKINS_LOG=daemon.info

...

JENKINS_WAR, JENKINS_HOME, JENKINS_LOG 등의 경로가 지정되어 있으므로, 확인하여 해당 경로의 정보를 원하는 내용으로 변경한다.

 

2. JENKINS 신규 설치

관련 파일을 모두 삭제하였으니, 새로 설치를 한다. 본 포스팅에선 최신 버전의 JENKINS 로 설치한다.
기본 Ubuntu 패키지에 포함된 버전은 대부분 하위 버전이기 때문에 LTS 버전인 최신 버전을 가져올 수 있도록 저장소를 update 한다.

# 저장소 키 추가
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -

# 서버에 Debian 패키지 저장소 주소 추가
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

# 새 저장소 사용하도록 update
sudo apt update

저장소 update가 완료되었으면, 최신 JENKINS를 받아올 준비가 되었으므로 apt 를 사용하여 젠킨스를 설치한다.

sudo apt install jenkins

 

3. BACKUPSET 을 이용한 복구

/etc/default/jenkins 에 적혀진 내용을 토대로 설치가 완료될 것이다.

현재 JENKINS_WAR 의 경로는 /usr/share/$NAME/$NAME.war 로 되어 있으며, 최신 버전으로 설치했기 때문에 최신 war 가 해당 경로에 존재한다.
만약 기존에 사용하던 JENKINS 버전으로 복구하고 싶다면, 아래의 링크에서 war를 다운받아서 해당 경로에 위치시키면 되겠다.

https://get.jenkins.io/war-stable/

 

War Jenkins Packages

Jenkins War Packages This is the WAR package repository of Jenkins for installation. You will need to explicitly install a supported Java runtime environment (JRE), e.g. Eclipse Temurin. Weekly Release Line Supported Java versions for the weekly release li

get.jenkins.io

 

JENKINS 의 버전은 위에 내용대로 설치할 수 있지만 우리는 BACKUPSET 에 담긴 내용을 복구하려고 한다.

BACKUPSET 에 담긴 내용은 기본적으로 JENKINS HOME 디렉토리 전부가 압축된 내용이라고 볼 수 있다.

현재 JENKINS_HOME 은 /var/lib/$NAME 으로 설정되어 있는데, 해당 디렉토리를 제거한 후 BACKUPSET 으로 교체한다.

그 후에 재부팅하면 원하는 젠킨스의 버전과 백업셋으로 복구가 됨을 확인할 수 있다.

sudo systemctl stop jenkins.service
sudo systemctl start jenkins.service

# or

sudo systemctl restart jenkins.service

 

반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.