본문 바로가기
서버인프라/Git

Gitlab Upgrade

by techwold ted 2023. 9. 21.

GitLab Upgrade 방법

  1. 설치하기
  2. 백업
  3. 복구
  4. 낮은 버전으로부터 최신버전까지

설치하기

개인적으로 깃랩을 설치하여 사용중이다. 혹시 설치 방법이 궁금하시면 아래 사이트로

https://about.gitlab.com/install/#ubuntu

 

Download and install GitLab

Download, install and maintain your own GitLab instance with various installation packages and downloads for Linux, Kubernetes, Docker, Google Cloud and more.

about.gitlab.com

깃랩 설치형으로 운영하다보면 항상 Upgrade문제에 부딛치곤 한다. 개인적으로 미루지 않고 업그레이드 하려고 해서 많은 문제를 격지는 않지만, 어쩌다 한번씩 하면 맨날 까먹는다.

 


백업

우선 업그레이드를 위해서는 백업이 우선시 되어야 한다.

gitlab-rake gitlab:backup:create

위와 같이 명령어를 실행하면 아래 디렉토리에 날짜와 시간 조합으로 tar파일이 생성된다.

/var/opt/gitlab/backups

"1695260720_2023_09_21_16.2.1_gitlab_backup.tar" 이런 식으로 생성된다.

 


복구

백업을 했으니 복구 방법 역시 알아봐야 하겠다.

복구는 업그레이시 필요는 없지만 업그레이드 할때 우리는 항상 백업은 기본으로 해둬야 하며, 서버에 무슨일이 일어날지 모르니 항상 백업을 잊지 않았으면 좋겠다.그럼에도 복구 방법에 대해서는 알고 넘어가야 하지 않을까 하는 생각이 든다.

복구 할때가 많지 않기때문에 사실 자주 잊어버리는 사항이 있다.

백업 파일이 위와 같이 "1695260720_2023_09_21_16.2.1_gitlab_backup.tar" 생성 되기때문에 우리는 복구시 명령어를

"gitlab-rake gitlab:backup:restore BACKUP=695260720_2023_09_21_16.2.1_gitlab_backup.tar" 이런식으로 사용하곤 한다. 하지만 위와 같이 실행하면 오류다. 복구 할때는 아래와 같이 해야한다.

 gitlab-rake gitlab:backup:restore BACKUP=1695260720_2023_09_21

_gitlab_backup.tar를 빼고 해야 한다. 잊지 말자. 자주 착각하는 것 중 하나이다.

 


낮은 버전으로부터 최신버전까지

업그레이드를 등한시 한다 여러 이유가 있겠지만 우선 중단의 사유가 발생할 것이고, 데이터 유실에 대한 리스크 그리고 불안함등 여러 이유들이 있다 하지만, 현재 클라우드를 사용하고 있거나 가상화 서버를 사용한다면 스냅샷이라는 좋은 기능으로 우리는 최소한 문제 없는 복구는 이뤄낼수 있다. 가장 큰 리스크 아닌가 예전 레거시 환경에서 장시간 서버를 껏다가 키지 않을시 발생할 문제중 가장 큰 문제가 서버거 다시 올라오지 않는 것이였다. 하지만 지금은 그런 사례를 찾는게 더 힘든거 같다. 하드웨어도 좋아지고 디스크 속도도 빨라지며 잘 사용하지 않는 명령어중 sync 명령이 있다.

 

사설이 너무 길었네.

오늘로 최신 stable한 버전이 v16.3.4 이다. 이거 테스트 해보려고 거의 7개월간 업그레이드 하지 않았으며, 15.x.x 버전부터 업그레이드를 시작했다.

 

순서는 다음과 같다.

1. 15.x.x버전의 최상위 버전까지 업그레이 해야 한다.

curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
apt install gitlab-ce=15.11.9-ce.0

2. 그리고 최신 버전으로 넘어간다.

apt install gitlab-ce

 

업데이트 끝.

잘 되었는지 확인만 하면 끝난다.

 

 

 

'서버인프라 > Git' 카테고리의 다른 글

git service 비교  (0) 2023.08.04
자주 사용하는 git 명령어  (1) 2023.08.03
git을 활용한 directory 지정 클론  (0) 2023.07.24

댓글