GitLab 패키지를 사용하여 GitLab 업그레이드

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

GitLab을 새 버전으로 업그레이드하려면 GitLab 패키지를 사용하면 됩니다.

Prerequisites

  • 지원되는 업그레이드 경로를 확인하여 언제 업그레이드할지 결정합니다. 직접적으로 주요 버전을 건너뛸 수 없습니다 (예: 10.3에서 12.7로 한 번에 이동 불가).
  • 비 패키지 설치에서 GitLab 패키지 설치로 업그레이드하는 경우, 비 패키지 설치에서 GitLab 패키지 설치로 업그레이드하는 방법을 참조하세요.
  • 모든 백그라운드 마이그레이션이 완전히 완료되었는지 확인합니다. 백그라운드 마이그레이션이 완료되기 전에 업그레이드하면 데이터 손상이 발생할 수 있습니다. 주요 및 마이너 릴리스 간에 업그레이드를 1주일에 한 번 이상 수행하지 않고 백그라운드 마이그레이션이 완료될 때까지 시간을 확보하는 것이 좋습니다.
  • Gitaly 서버는 애플리케이션 서버의 업그레이드 전에 더 최신 버전으로 업그레이드되어야 합니다. 이렇게 하면 기존 Gitaly 버전에서 지원되지 않는 RPC를 애플리케이션 서버의 gRPC 클라이언트가 보내는 것을 방지합니다.

다운타임

  • 단일 노드 설치의 경우, 업그레이드 중에는 사용자가 GitLab에 접근할 수 없습니다. 사용자의 웹 브라우저에 “배포 진행 중” 메시지 또는 “502” 오류가 표시됩니다.
  • 다중 노드 설치의 경우, 다운타임 없는 업그레이드를 수행하는 방법을 참조하세요.
  • 다중 노드 설치로의 업그레이드는 다운타임을 사용하여도 수행할 수 있습니다 (다운타임을 사용한 업그레이드 참조).

특정 버전 변경 사항

버전을 업그레이드하는 경우 일부 매뉴얼 개입이 필요할 수 있습니다. 자세한 내용은 업그레이드하는 버전을 확인하세요:

이전 GitLab 버전

이전 GitLab 버전에 대한 특정 정보는 문서 리포지터리를 참조하세요. 보관 문서에는 심지어 GitLab의 훨씬 이전 버전에 대한 특정 정보가 포함되어 있습니다.

예를 들어, GitLab 15.11 문서에는 GitLab 11부터의 버전 정보가 포함되어 있습니다.

업그레이드 전 백업

GitLab 데이터베이스는 새로운 GitLab 버전을 설치하기 전에 백업됩니다. 자동 데이터베이스 백업을 건너뛰려면 /etc/gitlab/skip-auto-backup에 빈 파일을 만들면 됩니다.

sudo touch /etc/gitlab/skip-auto-backup

그러나 권장하는 바로써 자체적으로 최신의 전체 백업을 유지하는 것이 좋습니다.

공식 리포지터리 사용하여 업그레이드

모든 GitLab 패키지는 GitLab 패키지 서버에 게시됩니다. 여섯 개의 리포지터리가 유지됩니다:

만약 GitLab 커뮤니티 에디션 또는 엔터프라이즈 에디션을 설치했다면, 공식 GitLab 리포지터리가 이미 설정되어 있어야 합니다.

최신 버전으로 업그레이드

예를 들어 매월 한 번씩 GitLab을 업그레이드한다면, 패키지 관리자를 사용하여 최신 버전으로 업그레이드할 수 있습니다.

최신 GitLab 버전으로 업그레이드하려면:

# Ubuntu/Debian
sudo apt update && sudo apt install gitlab-ee

# RHEL/CentOS 7 및 Amazon Linux 2
sudo yum install gitlab-ee

# RHEL/Almalinux 8/9 및 Amazon Linux 2023
sudo dnf install gitlab-ee

# SUSE
sudo zypper install gitlab-ee
note
GitLab 커뮤니티 에디션의 경우, gitlab-ee 대신 gitlab-ce로 대체합니다.

공식 리포지터리를 사용하여 특정 버전으로 업그레이드

리눅스 패키지 관리자는 설치 및 업그레이드를 위해 기본적으로 사용 가능한 릴리스의 최신 버전을 설치합니다. 최신 주요 버전으로 직접 업그레이드하는 것은 지원되는 멀티 스테이지 업그레이드 경로를 필요로 하는 이전 GitLab 버전에 대한 문제를 야기할 수 있습니다. 업그레이드 경로는 여러 버전에 걸쳐 있을 수 있으므로 각 업그레이드에 특정 GitLab 패키지를 지정해야 합니다.

패키지 관리자의 설치 또는 업그레이드 명령에 의도하는 GitLab 버전 번호를 지정하려면:

  1. 설치된 패키지의 버전 번호를 확인합니다:

    # Ubuntu/Debian
    sudo apt-cache madison gitlab-ee
       
    # RHEL/CentOS 7 및 Amazon Linux 2
    yum --showduplicates list gitlab-ee
       
    # RHEL/Almalinux 8/9 및 Amazon Linux 2023
    dnf --showduplicates list gitlab-ee
       
    # SUSE
    zypper search -s gitlab-ee
    
  2. 패키지 관리자의 설치 또는 업그레이드 명령 중 아래 명령 중 하나를 사용하고 <version>을 설치하려는 다음 지원되는 버전으로 바꿉니다 (설치할 버전이 지원되는 업그레이드 경로에 포함되어 있는지 확인하세요):

    # Ubuntu/Debian
    sudo apt install gitlab-ee=<version>-ee.0
       
    # RHEL/CentOS 7 및 Amazon Linux 2
    sudo yum install gitlab-ee-<version>-ee.0.el7
       
    # RHEL/Almalinux 8/9
    sudo dnf install gitlab-ee-<version>-ee.0.el8
       
    # Amazon Linux 2023
    sudo dnf install gitlab-ee-<version>-ee.0.amazon2023
       
    # OpenSUSE Leap 15.5
    sudo zypper install gitlab-ee=<version>-ee.sles15
       
    # SUSE Enterprise Server 12.2/12.5
    sudo zypper install gitlab-ee=<version>-ee.0.sles12
    
note
GitLab 커뮤니티 에디션의 경우, eece로 대체합니다.

매뉴얼으로 다운로드한 패키지 사용하여 업그레이드

note
공식 리포지터리를 사용하는 것이 매뉴얼 설치보다 권장됩니다.

공식 리포지터리를 사용하지 않는 경우, 패키지를 다운로드하고 매뉴얼으로 설치할 수 있습니다. 이 방법은 GitLab을 처음 설치하거나 업그레이드하는 데 사용할 수 있습니다.

GitLab을 다운로드하고 설치하려면:

  1. 패키지의 공식 리포지터리를 방문합니다.
  2. 원하는 버전(예: 14.1.8)을 검색하여 디렉터리을 필터링합니다. 단일 버전에 대해 여러 패키지가 존재할 수 있으며 각 지원되는 배포 및 아키텍처를 위한 하나씩입니다. 파일 이름 옆에는 파일 이름이 동일할 수 있기 때문에 배포를 나타내는 레이블이 표시됩니다.
  3. 설치하려는 패키지 버전을 찾아 디렉터리에서 파일 이름을 선택합니다.
  4. 오른쪽 상단에서 다운로드를 선택합니다.
  5. 패키지 다운로드 후, 다음 명령 중 하나를 사용하여 설치합니다. <package_name>은 다운로드한 패키지 이름으로 교체합니다:

    # Debian/Ubuntu
    dpkg -i <package_name>
       
    # RHEL/CentOS 7 및 Amazon Linux 2
    rpm -Uvh <package_name>
       
    # RHEL/Almalinux 8/9 및 Amazon Linux 2023
    dnf install <package_name>
       
    # SUSE
    zypper install <package_name>
    
note
GitLab 커뮤니티 에디션의 경우, gitlab-eegitlab-ce로 대체합니다.

제품 문서 업그레이드

이 단계는 선택 사항입니다. 제품 문서를 설치했다면, 나중 버전으로 업그레이드하는 방법을 확인하세요.

문제 해결

더 많은 정보는 문제 해결을 참조하세요.