티스토리 뷰
팀내에 사용중이던 Gitlab CE 가 최근에 하드가 사망하여 재구축해야하는 상황이 발생됬다.
매일 백업되던 Backup 파일로 재구축은 하였으나 백업된 파일이 구버전이기에 최신버전의 도커 이미지로 구축시 에러가 발생했다.
(괜한 욕심이였나 싶기도하고,,)
기존 12.2.5 버전 -> 목표 17 버전
업그레이드 과정은 어찌보면 간단하다.
Docker Image를 교체해주면 Gitlab 컨테이너 자체에서 마이그레이션을 진행해준다.
가이드
https://docs.gitlab.com/ee/install/docker/upgrade.html
유의점
- 현재 실행되는 도커 컨테이너의 백업 필수
- 현 도커의 Volume 패스 확인
-> 호스트 머신의 Volumn으로 지정된 Path에 Git Container의 설정 및 데이터들이 남아있기에 업그레이드 과정중에 도커 컨테이너를 삭제해도 기존 데이터를 가지고 마이그레이션을 진행하는 원리
업그레이드 과정
1. 도커 Git 컨테이너 중지
- docker stop {git-container-name}
2. 도커 Git 컨테이너 삭제
- docker rm {git-container-name}
3. 도커 Git 이미지 Pull 받기
- docker pull gitlab/gitlab-ce:<version>-ce.0
4. GITLAB_HOME 환경 변수 확인
5. 신규 이미지로 도커 컨테이너 실행
docker run --detach
--hostname gitlab.example.com
--publish 443:443 --publish 80:80 --publish 22:22
--name gitlab
--restart always
--volume $GITLAB_HOME/config:/etc/gitlab
--volume $GITLAB_HOME/logs:/var/log/gitlab
--volume $GITLAB_HOME/data:/var/opt/gitlab
--shm-size 256m
위의 과정을 계속 업그레이드를 하면서 따라가면 된다.
GITLAB_HOME 환경변수는 지정하기 귀찮아 나는
--volume /srv/gitlab/config:/etc/gitlab 와 같이 /srv/gitlab을 명시했다.
이렇게 셋팅하면 /srv/gitlab 패스로 도커 깃 컨테이너와의 연결 경로가 생긴다.
에러 로그 확인
>> sudo docker logs gitlab -f
에러 로그를 확인하면서 마이그레이션을 진행해야한다.
-f 옵션은 실시간 로그를 확인하려면 사용
호기롭게 최신이미지 16버전의 이미지를 Pull 받고 실행하려고 했으나 에러발생.
최소 16.7 버전을 설치하라는 안내 문구에 따라 해당 버전의 이미지를 Pull 받고 재시도 하였으나 계속 실패..
14버전으로 낮췄음에도 동일한 에러발생
무언가 잘못됬음을 직감하고 가이드를 다시 정독하였다.
https://docs.gitlab.com/ee/update/plan_your_upgrade.html
가이드에 따르면 업그레이드 계획을 세워야한다.
https://gitlab-com.gitlab.io/support/toolbox/upgrade-path/
Gitlab에서 제공하는 위의 사이트에서 현제 버전과 타겟 버전, 에디션과 설치유형을 선택하여 Go! 를 누른다.
앞으로 위의 단계에 따라.. 업그레이드를 진행해야한다. (ㅜㅜ)
그나마 13버전까지는 단순히 이미지 교체작업만 해주면 되기에 큰 에러없이 13버전까지 업그레이드는 성공했다.
다만 14버전 이후 부터는 백그라운드 마이그레이션 작업이 선행되어야지 업그레이드 가능하다.
다음 포스트에 이어서..
'Docker' 카테고리의 다른 글
[Docker] Gitlab CE 업그레이드 후 500 에러 (웹훅, OpenSSL:Cipher::CipherError()) (0) | 2024.08.21 |
---|---|
[Docker] Gitlab CE 업그레이드 하기 (14 ver later) 2탄 (0) | 2024.08.20 |
[Docker] Desktop - WSL update failed 에러 해결 (win11) (0) | 2024.07.09 |
[Docker] Gitlab CE 백업/복구 하기 (0) | 2019.09.22 |
[Docker] Gitlab CE 설치하기 (0) | 2019.09.21 |
- Total
- Today
- Yesterday
- 데스큐어
- vite.js
- 대항해시대 런처
- React.js
- 정보처리기사 실기 후기
- 대항해시대 다음 런처
- JNI SIGNITURE
- 위대한 쇼맨 후기
- 다클 코드
- 빈파일
- JNI 시그니처
- 위대한 쇼맨 ost
- 합격 후기
- 폴더선택다이얼로그
- 구글 클라우드 플랫폼
- 위대한 쇼맨
- 정처기 실기
- 대항해시대 로그인
- EACCES: permission denied
- 대항해시대 다클
- lxd
- 대항해시대
- Linux
- OSI 7Layer
- 대항해시대 넷마블 런처
- 다클 빈
- JNI INVOKE
- HTTPie
- 정보처리기사 2018 2회
- JNI
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |