GitLab 업그레이드

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

GitLab 업그레이드는 비교적 간단한 과정이지만, 다음에 따라 복잡성이 증가할 수 있습니다:

  • 사용한 설치 방법
  • GitLab 버전이 얼마나 오래되었는지
  • 주요 버전으로 업그레이드하는 경우

모든 업그레이드 방법과 관련된 정보가 포함되어 있으므로, 페이지 전체를 읽으시기 바랍니다.

GitLab을 업그레이드하려면:

  1. 유지 관리 정책 문서에 익숙해지세요.
  2. 넘어가는 버전의 릴리스 게시물을 읽으세요.
    특히, 사용 중단, 제거 및 업그레이드에 대한 중요한 참고사항입니다.
  3. 백그라운드 마이그레이션을 확인하세요.
  4. 업그레이드를 계획하세요.
  5. 업그레이드 전에 호환성을 보장하기 위해 다양한 GitLab 버전의 변경 사항을 참조하세요:
  6. 설치 방법에 따른 업그레이드 단계를 따르세요.

설치 방법에 따른 업그레이드

설치 방법 및 GitLab 버전에 따라 GitLab을 업그레이드하는 여러 가지 공식 방법이 있습니다:

리눅스 패키지 (Omnibus)

패키지 업그레이드 가이드에는 공식 GitLab 리포지토리에서 설치된 패키지를 업그레이드하는 데 필요한 단계가 포함되어 있습니다.

특정 버전으로 업그레이드하려는 경우에 대한 지침도 포함되어 있습니다:
특정 버전으로 업그레이드.

Helm 차트 (Kubernetes)

GitLab은 Helm을 사용하여 Kubernetes 클러스터에 배포할 수 있습니다.
프로덕션 배포의 경우, 설정은 클라우드 네이티브 하이브리드 가이드를 따르며, 비상태 구성 요소는 Kubernetes에서 GitLab Helm 차트를 사용하여 실행되고, 상태 있는 구성 요소는 리눅스 패키지를 사용하여 컴퓨팅 VM에 배포됩니다.

차트 버전에서 GitLab 버전으로의 버전 매핑을 사용하여 업그레이드 경로를 결정하세요.

다운타임이 있는 다중 노드 업그레이드를 따라 Cloud Native Hybrid 설정에서 업그레이드를 수행하세요.

전체 클라우드 네이티브 배포는 프로덕션에 대해 지원되지 않습니다.
그러나 그런 환경을 업그레이드하는 방법에 대한 지침은 별도의 문서에 있습니다.

Docker

GitLab은 커뮤니티 및 엔터프라이즈 에디션 모두에 대한 공식 Docker 이미지를 제공하며, 이는 Omnibus 패키지를 기반으로 합니다.
Docker를 사용하여 GitLab 설치하기를 참조하세요.

소스에서 컴파일 (자체 컴파일)

과거에는 업그레이드 지침을 위한 별도의 문서를 사용했지만, 이제는 단일 문서를 사용하는 것으로 전환했습니다. 이전의 업그레이드 지침은 Git 리포지토리에서 여전히 찾을 수 있습니다:

CI/CD 파이프라인 및 작업 처리

GitLab Runner가 작업을 처리하는 동안 GitLab 인스턴스를 업그레이드하면, 트레이스 업데이트가 실패합니다. GitLab이 다시 온라인 상태로 돌아가면, 트레이스 업데이트는 자동으로 복구되어야 합니다. 그러나 오류에 따라 GitLab Runner는 재시도하거나 결국 작업 처리를 종료합니다.

아티팩트에 관해서는, GitLab Runner가 이를 세 번 업로드하려고 시도하며, 이후 작업이 결국 실패합니다.

위의 두 가지 시나리오를 해결하기 위해, 업그레이드 전에 다음을 수행하는 것이 좋습니다:

  1. 유지보수를 계획합니다.

  2. 러너를 일시 중지하거나, 다음을 /etc/gitlab/gitlab.rb에 추가하여 새로운 작업 시작을 차단합니다:

    nginx['custom_gitlab_server_config'] = "location ^~ /api/v4/jobs/request {\n deny all;\n return 503;\n}\n"
    

    그런 다음 GitLab을 재구성합니다:

    sudo gitlab-ctl reconfigure
    
  3. 모든 작업이 완료될 때까지 기다립니다.

  4. GitLab을 업그레이드합니다.

  5. GitLab Runner를 업그레이드하여 GitLab 버전과 동일하게 만듭니다. 두 버전은 같아야 합니다.

  6. 러너를 다시 활성화하고 이전의 /etc/gitlab/gitlab.rb 변경 사항을 되돌려 새로운 작업 시작을 차단 해제합니다.

에디션 간 업그레이드

GitLab은 두 가지 버전으로 제공됩니다: 커뮤니티 에디션과 MIT 라이센스를 보유하며, 엔터프라이즈 에디션은 커뮤니티 에디션을 기반으로 하며, 100명 이상의 사용자를 가진 조직을 주로 대상으로 하는 추가 기능을 포함하고 있습니다.

아래에는 GitLab 에디션을 변경하는 데 도움이 되는 몇 가지 가이드를 찾을 수 있습니다.

커뮤니티 에디션에서 엔터프라이즈 에디션으로

참고:

다음 가이드는 엔터프라이즈 에디션 구독자만을 위한 것입니다.

커뮤니티 에디션에서 엔터프라이즈 에디션으로 GitLab 설치를 업그레이드하려면, 설치 방법에 따라 아래의 가이드를 따르십시오:

  • 소스 CE에서 EE로 업그레이드 가이드 - 단계는 버전 업그레이드와 매우 유사합니다: 서버 중지, 코드 가져오기, 새로운 기능을 위한 구성 파일 업데이트, 라이브러리 설치 및 마이그레이션 수행, 초기화 스크립트 업데이트, 애플리케이션 시작 및 상태 확인.

  • Omnibus CE에서 EE로 - 이 가이드를 따라 GitLab 커뮤니티 에디션을 엔터프라이즈 에디션으로 업그레이드하십시오.

  • Docker CE에서 EE로 - 이 가이드를 따라 GitLab 커뮤니티 에디션 컨테이너를 엔터프라이즈 에디션 컨테이너로 업그레이드하십시오.

  • Helm 차트 (Kubernetes) CE에서 EE로 - 이 가이드를 따라 GitLab 커뮤니티 에디션 Helm 배포를 엔터프라이즈 에디션으로 업그레이드하십시오.

엔터프라이즈 에디션에서 커뮤니티 에디션으로

엔터프라이즈 에디션 설치를 커뮤니티 에디션으로 다운그레이드하려면, 가능한 한 원활한 프로세스를 위해 이 가이드를 따르십시오.

관련 주제