GitLab Update 13.7.1 → 13.12.4

likefeb16220·2022년 4월 7일
0

ETC

목록 보기
2/2

서론

Synology Nas 내부 Docker를 이용하여 GitLab을 운용하고 있는데 (sameersbn/ docker-gitlab), CPU 점유율이 높아지거나 간혹 접속이 되지 않는 문제점이 존재했다. 그 때마다 GitLab을 재부팅 했지만, 해당 증상이 계속 반복되다 보니 해결방법을 찾아보기로 했다.
해결방안을 찾다 보니 Gitlab 하위 버전에서 이미지 메타데이터 관련하여 취약점이 있기 때문에 버전업을 하는 것이 좋다는 글을 보게 되었다.

sameersbn/docker-gitlab : issue 2447
sameersbn/docker-gitlab : issue 2448
sameersbn/docker-gitlab : issue 2500

(물론 나의 경우 저 취약점이 원인은 아닐 것이라 생각하지만...) 이에 나도 Gitlab 버전을 업데이트 하기로 했다.

사전 준비

  1. 기존에 설치되어 있던 Docker 컨테이너들의 정보를 백업한다.

  • 컨테이너 설정 내보내기
    컨테이너의 설정을 "컨테이너이름.syno.json" 형태의 파일로 내보낸다.
  • 컨테이너 콘텐츠 및 설정 내보내기
    컨테이너의 설정 뿐만 아니라 컨테이너의 데이터를 "컨테이너이름.syno.txz" 형태의 파일로 내보낸다. 단, 이 옵션을 선택하면 하단의 "대상" 부분의 "로컬 컴퓨터로 내보내기" 옵션이 비활성화 된다.

머리보다 몸이 고생하는 것 편하다면...

컨테이너 실행시 Docker-Compose를 이용하면 편하지만, 본인의 경우 구 버전에 있는 옵션 값들을 복사하여 새로운 버전 컨테이너를 설치할 때, 그대로 입력하였다.

하단의 예시 이미지의 경우 (이미 버전 업그레이드를 완료한) 컨테이너를 정지 시킨 후, 상단에 "편집" 버튼을 눌러서 띄운 것이다.

"높은 권한을 사용하여 컨테이너 실행" 체크

Synology의 어느 공간과 마운트 할 것인다. (디폴트 값으로 설정함)

포트는 알아서 설정

해당 설정을 해놓아야 GitLab 실행시 저 두 컨테이너가 같이 실행된다.
그리고 해당 별칭은 환경변수의 DB_HOST, REDIS_HOST 값과 일치해야한다. (디폴트 값으로 설정함)

환경 변수 예시 (대부분 디폴트 값)

  1. 업데이트 할 버전 확인
    GitLab의 버전 넘버링은 "Major.Minor.Patch" 형태로 구성되어 있다. 가량 13.12.4의 경우. 13(Major), 12(Minor), 4(Patch) 형태가 된다. GitLab의 업데이트의 경우, 숫자를 한꺼번에 뛰어넘는 것이 아닌 순차적으로 실행을 해야된다.

업데이트 버전 선택 방법 (Gitlab의 종류가 다른 점은 유의)
https://docs.gitlab.com/ee/update/index.html#upgrade-paths

다만 GitLab의 종류가 다른 점과 내가 사용하고 있는 정보는 해당 문서에 없어서 다른 버전으로 시도 했다.

다른 참고 글
https://ddorai-dumok.blogspot.com/2020/06/gitlab-centos6.html

본인의 경우 멋모르고 13.7.1 → 14.9.2를 시도 했지만, 당연히 실행이 되지 않았고, 13.7.1 → 13.12.4를 수행했다.

sameersbn/docker-gitlab의 Release된 이미지 정보는 아래 링크를 참조하면 된다.
https://github.com/sameersbn/docker-gitlab/releases

과정

https://github.com/sameersbn/docker-gitlab#upgrading

  1. 기존의 컨테이너를 삭제한다.

본인의 경우 Putty를 이용하여 Synology NAS에 SSH 접속을 한 후,
(docker rm 컨테이너이름) 명령을 이용

docker rm sameersbn-gitlab
  1. 설치하고자 하는 버전의 이미지를 가져온다.
docker pull sameersbn/gitlab:13.12.4

Docker → 이미지 → "추가" 버튼을 이용하여 이미지를 가져와도 된다.

  1. 이미지를 이용하여 컨테이너를 생성한다.
    생성한 이미지 선택 → "실행" 버튼 → "높은 권한을 사용하여 컨테이너 실행" 체크 → "고급 설정" 버튼 → 옵션 편집 후 "적용" 버튼 → "다음" 버튼

※ Docker-Compose를 사용할 수 있다면, 그 것을 사용하는 것이 더욱 편리하다.

옵션 설정시 "볼륨" 탭에서 "마운트 경로" 잘 맞추어 줘야 기존 버전에서 사용하던 데이터를 새로운 버전에서 사용하게 된다. (예시 => 파일/폴더 : docker/gitlab/gitlab = 마운트 경로 : /home/git/data)

0개의 댓글