반응형
최근 (2026-10-26 기준) GitLab 보안 취약점 (CVE-2026-110264, 93577, 89078, 15723J, 112212)관련하여, Ubuntu 26.04 LTS 기준 Gitlab 19.1.1 → 19.1.9로 업그레이드 하는 과정을 공유
GitLab / Docker 업그레이드
배포 상태 확인
Docker 실행 여부 확인
- Docker & 에디션 확인 명령
docker ps | grep -i gitlab- 결과 (에디션은 Image태그 확인)
48099c9db81d gitlab/gitlab-runner:latest "sh /entrypoint.sh" 3 months ago Up 3 weeks gitlab-runner
ab0c1145da13 gitlab/gitlab-ce:latest "/assets/init-contai…" 3 months ago Up 3 weeks (healthy) 22/tcp, 80/tcp, 443/tcp gitlab
패키지/데몬 실행 여부 확인
- 확인 명령
sudo gitlab-ctl status - 에디션 확인
dpkg -l | grep gitlab - 결과에 run: ... 형태로 서비스 목록이 뜰 경우: 우분투 apt 패키지로 설치된 GitLab
본 토픽(게시글)은 Docker환경을 기준으로 설명하므로, 패키지 형태일 경우는 AI도구나 검색을 통하여 활용하시기 바랍니다.
GitLab / Docker 업그레이드
docker-compose.yml 설정 파일 찾기
- 폴드 지정 후 파일명으로 찾기
find / -name "docker-compose.yml" 2>/dev/null - (또는) 컨테이너의 Compose 라벨 확인
docker inspect gitlab | grep -i compose
마운트된 볼륨 및 포트 매핑 확인
- 마운트 볼륨
docker inspect gitlab --format '{{ range .Mounts }}{{ .Source }} -> {{ .Destination }}{{ println }}{{ end }}' - 포트 포워딩
docker inspect gitlab --format '{{ range $p, $conf := .NetworkSettings.Ports }}{{ $p }} -> {{ (index $conf 0).HostPort }}{{ println }}{{ end }}'
백업 수행
GitLab 데이터 백업
- 실행 명령
docker exec -t <gitlab_container_name> gitlab-backup create - 예시 명령 :
docker exec -t gitlab gitlab-backup create
Compose 및 설정 파일 백업
- Compose 백업 (해당 폴더로 이동 후)
cd [작업 폴더]
sudo cp docker-compose.yml docker-compose.yml.bak
- 설정 파일 백업 (ex: 설정 폴더 = /data/gitlab/)
cd [설정 폴더]
sudo cp /data/gitlab/config/gitlab-secrets.json /data/gitlab/config/gitlab-secrets.json.bak
sudo cp /data/gitlab/config/gitlab.rb /data/gitlab/config/gitlab.rb.bak
docker-compose.yml수정 ( 업그레이드 버전 지정)services: gitlab: image: 'gitlab/gitlab-ce:19.1.9-ce.0' # 기존 latest 또는 구버전 태그에서 수정 ...
지정하지 않을 경우 Major버전까지 올라간 최신 버전으로 업그레이드 되면서 DB와 백그라운드 서비스와의 종속성 문제로 인하여 대규모 장애 위험 있음
새이미지 다운로드 및 컨테이너 재시작
cd [작업 폴더]
# 1) 새 버전 이미지 사전 다운로드
docker compose pull
# 2) 컨테이너 중지 후 새 이미지로 다시 실행
docker compose down
docker compose up -d
상태 확인
# 실시간 실행 로그 확인 (Ctrl + C로 빠져나올 수 있음)
docker logs -f gitlab
# 컨테이너 상태 점검 ((healthy) 상태 확인)
docker ps | grep gitlab
- 상세한 컨테이너 버전 확인
docker exec -it gitlab gitlab-rake gitlab:env:info | grep "Version:" - 예시) 명령 실행시 다소 시간 소요
-
$ docker exec -it gitlab gitlab-rake gitlab:env:info | grep "Version:" Ruby Version: 3.3.11 Gem Version: 3.7.1 Bundler Version:4.0.10 Rake Version: 13.4.2 Redis Version: 7.2.13 Sidekiq Version:7.3.9 Go Version: unknown Version: 19.1.1 DB Version: 17.8 Version: 14.54.0 - default Version: 19.1.1 - default Git Version: 2.54.0-rc1.gb15384c
백업 & 환경 설정 후 실행 결과
$ docker compose pull
[+] pull 14/16
⠦ Image gitlab/gitlab-ce:19.1.9-ce.0 [⣿⣿⣿⣿⣿⣦⣿⣿] 894.6MB / 1.325GB Pulling 50.7s
✔ Image gitlab/gitlab-runner:latest Pulled
$ docker compose pull
[+] pull 16/16
✔ Image gitlab/gitlab-ce:19.1.9-ce.0 Pulled 142.7s
✔ Image gitlab/gitlab-runner:latest Pulled 12.0s
$ docker compose down
[+] down 3/3
✔ Container gitlab-runner Removed 1.5s
✔ Container gitlab Removed 11.9s
✔ Network gitlab_default Removed 0.2s
$ docker compose up -d
[+] up 3/3
✔ Network gitlab_default Created 0.1s
✔ Container gitlab Healthy 277.3s
✔ Container gitlab-runner Started 277.4s
$ docker ps | grep gitlab
18a60a589879 gitlab/gitlab-runner:latest "sh /entrypoint.sh" 21 minutes ago Up 16 minutes gitlab-runner
16fb4afb59c7 gitlab/gitlab-ce:19.1.9-ce.0 "/assets/init-contai…" 21 minutes ago Up 21 minutes (healthy) 22/tcp, 80/tcp, 443/tcp gitlab
$ docker exec -it gitlab gitlab-rake gitlab:env:info | grep "Version:"
Ruby Version: 3.3.11
Gem Version: 3.7.1
Bundler Version:4.0.10
Rake Version: 13.4.2
Redis Version: 7.2.16
Sidekiq Version:7.3.9
Go Version: unknown
Version: 19.1.9
DB Version: 17.11
Version: 14.56.1
- default Version: 19.1.9
- default Git Version: 2.54.0-rc1.gb15384c반응형
'Workspace & Develop > Git' 카테고리의 다른 글
| GIT) 로컬 repo와 원격 repo간 차이로 인한 특정 파일(로그) 제외 (0) | 2026.08.21 |
|---|---|
| GIT) 푸시할려고하는 파일 용량이 너무 큰 경우 - 오류 (HTTP 499) (0) | 2026.08.20 |
| GIT) 최초 원격 저장소(repo) 설정 및 Push (0) | 2026.08.20 |
| GIT) 원격 저장소(repo) URL(set-rul) 변경 (0) | 2026.08.20 |