- Docker Engine을 사용하여 GitLab 업그레이드
- Docker Compose를 사용하여 GitLab 업그레이드
- 커뮤니티 에디션을 엔터프라이즈 에디션으로 변환
- GitLab 다운그레이드
업그레이드
대부분의 경우, GitLab을 업그레이드하는 것은 최신 Docker 이미지 태그를 다운로드하는 것만큼 쉽습니다.
Docker Engine을 사용하여 GitLab 업그레이드
Docker Engine을 사용하여 설치된 GitLab 인스턴스를 업그레이드하려면:
-
실행 중인 컨테이너를 중지합니다:
sudo docker stop gitlab
-
기존 컨테이너를 제거합니다:
sudo docker rm gitlab
-
새 이미지를 가져옵니다:
sudo docker pull gitlab/gitlab-ee:<version>-ee.0
-
GITLAB_HOME
환경 변수가 정의되어 있는지 확인합니다:echo $GITLAB_HOME
-
이전에 지정한 옵션으로 컨테이너를 다시 생성합니다:
sudo 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/gitlab-ee:<version>-ee.0
처음 실행할 때, GitLab은 재구성되고 자체적으로 업그레이드됩니다.
다른 버전으로 업그레이드할 때는 GitLab 업그레이드 권장 사항을 참조하세요.
Docker Compose를 사용하여 GitLab 업그레이드
Docker Compose를 사용하여 설치된 GitLab 인스턴스를 업그레이드하려면:
-
docker-compose.yml
을 수정하고 가져올 버전을 변경합니다. -
최신 릴리스를 다운로드하고 GitLab 인스턴스를 업그레이드합니다:
docker compose pull docker compose up -d
커뮤니티 에디션을 엔터프라이즈 에디션으로 변환
기존 GitLab 커뮤니티 에디션(CE) 컨테이너를 GitLab 엔터프라이즈 에디션 (EE) 컨테이너로 변환할 수 있습니다.
이는 버전 업그레이드와 동일한 접근 방식을 사용합니다.
동일한 CE 버전에서 EE로 변환하는 것을 권장합니다(예: CE 14.1에서 EE 14.1로).
하지만 이는 필수 사항은 아닙니다. 어떤 표준 업그레이드(예: CE 14.0에서 EE 14.1로)도 작동해야 합니다.
다음 단계는 동일한 버전으로 변환한다고 가정합니다.
-
현재 CE 컨테이너를 중지하고, 제거하거나 이름을 변경합니다.
-
GitLab EE로 새 컨테이너를 만들려면,
docker run
명령 또는docker-compose.yml
파일에서ce
를ee
로 바꿉니다.
CE 컨테이너 이름, 포트 매핑, 파일 매핑 및 버전을 재사용합니다.
GitLab 다운그레이드
복원 시 최신 GitLab 데이터베이스 콘텐츠가 이전 상태로 덮어씌워집니다.
다운그레이드는 필요한 경우에만 권장됩니다. 예를 들어, 업그레이드 후 테스트에서 빠르게 해결할 수 없는 문제가 발견된 경우입니다.
경고:
다운그레이드하려는 동일한 버전과 에디션으로 생성된 데이터베이스 백업이 최소한 하나 있어야 합니다.
백업은 업그레이드 중에 수행된 스키마 변경(마이그레이션)을 되돌리기 위해 필요합니다.
업그레이드 직후 GitLab을 다운그레이드하려면:
-
이전 버전을 지정하여 업그레이드 절차를 따르세요.
-
업그레이드 전에 만든 데이터베이스 백업을 복원하세요.
- Puma와 Sidekiq를 중지하는 것을 포함하여 Docker 이미지의 복원 단계를 따르세요.
데이터베이스만 복원해야 하므로
gitlab-backup restore
명령줄 인수에SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_state
를 추가하세요.
- Puma와 Sidekiq를 중지하는 것을 포함하여 Docker 이미지의 복원 단계를 따르세요.
데이터베이스만 복원해야 하므로