Workspace & Develop/Git

GitLab, Docker) GitLab 업그레이드

소소한 늙은 개발자의 메모장 2026. 10. 26. 12:43
반응형

최근 (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
반응형