업그레이드

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) Docker 컨테이너를 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. 업그레이드 전에 만든 데이터베이스 백업을 복원합니다.

    • Docker 이미지 복원 단계를 따릅니다. Puma와 Sidekiq를 중지합니다. 데이터베이스만 복원해야 하므로 gitlab-backup restore 명령줄 인수에 SKIP=artifacts,repositories,registry,uploads,builds,pages,lfs,packages,terraform_state를 추가합니다.