프로젝트 이전
다른 네임스페이스로 프로젝트 이전
프로젝트를 다른 네임스페이스로 이전하면 프로젝트가 다른 그룹으로 이동됩니다. 프로젝트의 모든 구성 요소(이슈, 병합 요청, 파이프라인, 대시보드 등)가 이전된 프로젝트와 함께 이동합니다. 프로젝트의 경로도 변경되므로 필요한 경우 프로젝트 구성 요소의 URL을 업데이트해야 합니다.
그룹 라벨이 대상 네임스페이스에 이미 존재하지 않는다면 새로운 프로젝트 레벨 라벨이 이슈 및 병합 요청에 생성됩니다.
경고: 전이 프로세스 중에 발생하는 오류는 프로젝트의 구성 요소나 최종 사용자의 종속성에 데이터 손실을 초래할 수 있습니다.
필수 조건:
- 전이할 그룹에 대한 Maintainer 역할을 적어도 하나 이상 가지고 있어야 합니다.
- 전이할 프로젝트의 소유자여야 합니다.
- 그룹은 새 프로젝트의 생성을 허용해야 합니다.
- 프로젝트에는 컨테이너 이미지가 포함되어서는 안 됩니다.
- 프로젝트에 보안 정책이 있어서는 안 됩니다. 프로젝트에 보안 정책이 할당되어 있는 경우 전이 과정 중에 자동으로 할당이 해제됩니다.
-
루트 네임스페이스가 변경되는 경우, 프로젝트에서 네이밍 규칙을 따르는 npm 패키지를 제거해야 합니다. 프로젝트를 이전한 후에는 다음 중 하나를 수행할 수 있습니다.
- 새 루트 네임스페이스 경로로 패키지 범위를 업데이트하고 프로젝트에 다시 게시합니다.
- 루트 네임스페이스 경로를 업데이트하지 않고 패키지를 다시 프로젝트에 게시합니다. 이렇게 하면 패키지가 더 이상 네이밍 규칙을 따르지 않게 됩니다. 루트 네임스페이스 경로를 업데이트하지 않고 패키지를 다시 게시하는 경우 인스턴스 엔드포인트에서 해당 패키지를 사용할 수 없습니다.
프로젝트를 전이하려면:
- 왼쪽 사이드바에서 검색 또는 이동을 선택하고 프로젝트를 찾습니다.
- 설정 > 일반을 선택합니다.
- 고급을 확장합니다.
- 프로젝트 이전에서 프로젝트를 전이할 네임스페이스를 선택합니다.
- 프로젝트 전이를 선택합니다.
- 프로젝트 이름을 입력하고 확인을 선택합니다.
프로젝트의 새 페이지로 리디렉션되며 GitLab이 리디렉션을 적용합니다. 리포지토리 리디렉션에 대한 자세한 내용은 리포지토리 경로가 변경될 때 어떻게 되는지를 참조하세요.
참고: 관리자이면 관리 인터페이스를 사용하여 어떤 프로젝트든 어떤 네임스페이스로 이동할 수 있습니다.
GitLab.com 프로젝트를 다른 구독 계층으로 이전
GitLab.com Premium 또는 Ultimate로 라이선스가 부여된 네임스페이스에서 프로젝트를 GitLab Free로 이전하는 경우:
- 프로젝트 액세스 토큰이 취소됩니다.
- 파이프라인 구독 및 테스트 케이스가 삭제됩니다.
문제 해결
프로젝트 설정 작업 중 다음 문제가 발생할 수 있거나 특정 작업을 완료하기 위해 다른 방법이 필요할 수 있습니다.
콘솔을 통한 프로젝트 전이
UI 또는 API를 통한 프로젝트 전이가 작동하지 않는 경우 Rails 콘솔 세션에서 전이를 시도할 수 있습니다.
p = Project.find_by_full_path('<프로젝트_경로>')
# 프로젝트 소유자 설정
current_user = p.creator
# 이를 이동하려는 네임스페이스
namespace = Namespace.find_by_full_path("<새_네임스페이스>")
Projects::TransferService.new(p, current_user).execute(namespace)