프로젝트 이전

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

다른 네임스페이스로 프로젝트 이전하기

프로젝트를 다른 네임스페이스로 이전하면 프로젝트가 다른 그룹으로 이동됩니다. 프로젝트의 모든 구성 요소(이슈, 병합 요청, 파이프라인 및 대시보드 등)도 이전된 프로젝트와 함께 이동합니다. 프로젝트의 경로도 변경되므로 필요한 경우 프로젝트 구성 요소의 URL을 업데이트해야 합니다.

경고: 이전 프로세스 중 발생하는 오류로 인해 프로젝트 구성 요소의 데이터 손실이나 최종 사용자의 종속성 손실이 발생할 수 있습니다.

전제 조건:

  • 프로젝트를 이전하는 그룹의 Maintainer 역할을 적어도 할당받아야 합니다.
  • 이전하는 프로젝트의 소유자여야 합니다.
  • 그룹에서 새 프로젝트를 만들 수 있어야 합니다.
  • 프로젝트에 컨테이너 이미지가 포함되어서는 안 됩니다.
  • 프로젝트에 보안 정책이 없어야 합니다. 보안 정책이 프로젝트에 할당된 경우 이전 중에 자동으로 할당이 해제됩니다.
  • 루트 네임스페이스가 변경되면 프로젝트에서 네이밍 규칙을 따르는 npm 패키지를 제거해야 합니다.

프로젝트를 전송한 후에는:

  • 새 루트 네임스페이스 경로로 패키지 범위를 업데이트하고 프로젝트에 다시 게시할 수 있습니다.
  • 루트 네임스페이스 경로를 업데이트하지 않고 패키지를 프로젝트에 다시 게시할 경우 더 이상 네이밍 규칙을 따르지 않는 패키지가 됩니다.

프로젝트를 전송하려면:

  1. 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
  2. 설정 > 일반을 선택합니다.
  3. 고급을 확장합니다.
  4. 프로젝트 이전에서 프로젝트를 전달할 네임스페이스를 선택합니다.
  5. 프로젝트 전송을 선택합니다.
  6. 프로젝트 이름을 입력하고 확인을 선택합니다.

프로젝트의 새 페이지로 리디렉션되고 GitLab이 리디렉션을 적용합니다. 저장소 리디렉션에 대한 자세한 내용은 저장소 경로가 변경될 때 발생하는 일을 참조하세요.

참고: 관리자이면 관리 인터페이스를 사용하여 어떤 프로젝트든 어느 네임스페이스로든 이동할 수도 있습니다.

GitLab SaaS 프로젝트를 다른 구독 티어로 이전하기

GitLab SaaS 프리미엄 또는 얼티밋으로 라이선스가 부여된 네임스페이스에서 프로젝트를 GitLab Free로 이전할 때:

문제 해결

프로젝트 설정 작업 중에 다음과 같은 문제가 발생하거나 특정 작업을 완료하는 데 대체 방법이 필요할 수 있습니다.

콘솔을 통해 프로젝트 이전

UI 또는 API를 통해 프로젝트를 전송하는 것이 작동하지 않는 경우 Rails 콘솔 세션에서 전송을 시도할 수 있습니다.

p = Project.find_by_full_path('<project_path>')

# 프로젝트 소유자 설정
current_user = p.creator

# 이동하고자 하는 네임스페이스
namespace = Namespace.find_by_full_path("<new_namespace>")

Projects::TransferService.new(p, current_user).execute(namespace)

관련 주제