업그레이드

Tier: Free, Premium, Ultimate Offering: Self-managed

대부분의 경우, GitLab을 업그레이드하는 것은 최신 Docker 이미지 태그를 다운로드하는 것만큼 쉽습니다.

Docker Engine을 사용하여 GitLab 업그레이드

Docker Engine을 사용하여 설치된 GitLab 인스턴스를 업그레이드하려면:

  1. 백업을 생성합니다. 최소한 데이터베이스와 GitLab 비밀 파일을 백업합니다.

  2. 실행 중인 컨테이너를 중지합니다:

    sudo docker stop gitlab
    
  3. 기존 컨테이너를 제거합니다:

    sudo docker rm gitlab
    
  4. 새 이미지를 가져옵니다:

    sudo docker pull gitlab/gitlab-ee:<version>-ee.0
    
  5. GITLAB_HOME 환경 변수가 정의되어 있는지 확인합니다:

    echo $GITLAB_HOME
    
  6. 이전에 지정한 옵션으로 컨테이너를 다시 생성합니다:

    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 인스턴스를 업그레이드하려면:

  1. 백업을 수행합니다. 최소한 데이터베이스와 GitLab 비밀 파일을 백업합니다.

  2. docker-compose.yml을 수정하고 가져올 버전을 변경합니다.

  3. 최신 릴리스를 다운로드하고 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로)도 작동해야 합니다.

다음 단계는 동일한 버전으로 변환한다고 가정합니다.

  1. 백업을 수행합니다. 최소한 데이터베이스와 GitLab 비밀 파일을 백업합니다.

  2. 현재 CE 컨테이너를 중지하고, 제거하거나 이름을 변경합니다.

  3. GitLab EE로 새 컨테이너를 만들려면, docker run 명령 또는 docker-compose.yml 파일에서 ceee로 바꿉니다.
    CE 컨테이너 이름, 포트 매핑, 파일 매핑 및 버전을 재사용합니다.

GitLab 다운그레이드

복원 시 최신 GitLab 데이터베이스 콘텐츠가 이전 상태로 덮어씌워집니다.

다운그레이드는 필요한 경우에만 권장됩니다. 예를 들어, 업그레이드 후 테스트에서 빠르게 해결할 수 없는 문제가 발견된 경우입니다.

경고:

다운그레이드하려는 동일한 버전과 에디션으로 생성된 데이터베이스 백업이 최소한 하나 있어야 합니다.

백업은 업그레이드 중에 수행된 스키마 변경(마이그레이션)을 되돌리기 위해 필요합니다.

업그레이드 직후 GitLab을 다운그레이드하려면:

  1. 이전 버전을 지정하여 업그레이드 절차를 따르세요.

  2. 업그레이드 전에 만든 데이터베이스 백업을 복원하세요.

    • Puma와 Sidekiq를 중지하는 것을 포함하여 Docker 이미지의 복원 단계를 따르세요. 데이터베이스만 복원해야 하므로 gitlab-backup restore 명령줄 인수에 SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_state를 추가하세요.