이전 GitLab 버전으로 롤백
Offering: GitLab Self-Managed
Linux 패키지 또는 Docker를 사용하여 설치된 GitLab 인스턴스를 이전 버전으로 롤백할 수 있습니다. 롤백 시 이전에 업그레이드했을 때 발생한 버전별 변경 사항을 고려해야 합니다. 인스턴스가 업그레이드될 때 수행된 데이터베이스 스키마 변경 사항(마이그레이션)을 되돌려야 하므로 다음이 있어야 합니다:
Linux 패키지 또는 Docker를 사용하여 설치된 GitLab 인스턴스를 이전 버전으로 롤백할 수 있습니다.
롤백 시 이전에 업그레이드했을 때 발생한 버전별 변경 사항을 고려해야 합니다.
전제 조건#
인스턴스가 업그레이드될 때 수행된 데이터베이스 스키마 변경 사항(마이그레이션)을 되돌려야 하므로 다음이 있어야 합니다:
- 롤백하는 버전 및 에디션과 정확히 동일한 버전에서 생성된 데이터베이스 백업이 최소 하나 이상.
- 이상적으로는 롤백하는 버전 및 에디션과 정확히 동일한 버전의 전체 백업 아카이브.
Linux 패키지 인스턴스 롤백#
Linux 패키지 인스턴스를 이전 GitLab 버전으로 롤백하려면:
-
GitLab을 중지하고 현재 패키지를 제거합니다:
# If running Puma sudo gitlab-ctl stop puma # Stop sidekiq sudo gitlab-ctl stop sidekiq # If on Ubuntu: remove the current package sudo dpkg -r gitlab-ee # If on Centos: remove the current package sudo yum remove gitlab-ee -
롤백할 GitLab 버전을 확인합니다:
# (Replace with gitlab-ce if you have GitLab FOSS installed) # Ubuntu sudo apt-cache madison gitlab-ee # CentOS: sudo yum --showduplicates list gitlab-ee -
GitLab을 원하는 버전으로 롤백합니다(예: GitLab 15.0.5로):
# (Replace with gitlab-ce if you have GitLab FOSS installed) # Ubuntu sudo apt install gitlab-ee=15.0.5-ee.0 # CentOS: sudo yum install gitlab-ee-15.0.5-ee.0.el8 -
GitLab을 재구성합니다:
sudo gitlab-ctl reconfigure -
롤백을 완료하기 위해 GitLab을 복원합니다.
Docker 인스턴스 롤백#
복원은 모든 최신 GitLab 데이터베이스 콘텐츠를 이전 상태로 덮어씁니다. 롤백은 필요한 경우에만 권장됩니다. 예를 들어 업그레이드 후 테스트에서 빠르게 해결할 수 없는 문제가 발견된 경우.
다운그레이드하는 버전 및 에디션과 정확히 동일한 버전으로 생성된 데이터베이스 백업이 최소 하나 이상 있어야 합니다. 업그레이드 중에 수행된 스키마 변경 사항(마이그레이션)을 되돌리려면 백업이 필요합니다.
업그레이드 직후 GitLab을 롤백하려면:
-
설치된 것보다 이전 버전을 지정하여 업그레이드 절차를 따릅니다.
-
업그레이드 전에 만든 데이터베이스 백업을 복원합니다.
- Puma와 Sidekiq를 중지하는 것을 포함하여 Docker 이미지의 복원 단계를 따릅니다. 데이터베이스만 복원되어야 하므로
gitlab-backup restore명령줄 인수에SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_state를 추가합니다.
- Puma와 Sidekiq를 중지하는 것을 포함하여 Docker 이미지의 복원 단계를 따릅니다. 데이터베이스만 복원되어야 하므로
