- 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) Docker 컨테이너를 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을 다운그레이드하려면 다음을 수행하세요:
-
설치한 버전보다 이전 버전을 지정하여 업그레이드 절차를 따릅니다.
-
업그레이드 전에 만든 데이터베이스 백업을 복원합니다.
-
Docker 이미지 복원 단계를 따릅니다. Puma와 Sidekiq를 중지합니다. 데이터베이스만 복원해야 하므로
gitlab-backup restore
명령줄 인수에SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_state
를 추가합니다.
-
Docker 이미지 복원 단계를 따릅니다. Puma와 Sidekiq를 중지합니다. 데이터베이스만 복원해야 하므로