그룹 문제 해결

이름 공간 및 그룹의 유효성 검사 오류

이름 공간 또는 그룹을 생성하거나 업데이트할 때 다음과 같은 확인을 수행합니다:

  • 이름 공간에는 부모가 없어야 합니다.
  • 그룹의 부모는 그룹이어야 하며 이름 공간이 아니어야 합니다.

GitLab 설치 중 이러한 오류가 발생하는 경우 지원팀에 문의하여 이 확인을 개선할 수 있도록 도와주세요.

SQL 쿼리를 사용하여 그룹 찾기

rails console에서 SQL 쿼리를 기반으로 그룹을 찾아 배열로 저장합니다:

# '%oup'로 끝나는 그룹 및 하위 그룹 찾기
Group.find_by_sql("SELECT * FROM namespaces WHERE name LIKE '%oup'")
=> [#<Group id:3 @test-group>, #<Group id:4 @template-group/template-subgroup>]

Rails 콘솔을 사용하여 하위 그룹을 다른 위치로 이동

그룹을 UI 또는 API를 통해 이전하는 경우 작동하지 않는 경우 Rails 콘솔 세션에서 이전을 시도할 수 있습니다:

경고: 데이터를 변경하는 명령은 올바르게 실행되지 않거나 올바른 조건에서 실행되지 않는다면 손상을 일으킬 수 있습니다. 항상 먼저 테스트 환경에서 명령을 실행하고 복원할 백업 인스턴스를 준비하세요.

user = User.find_by_username('<username>')
group = Group.find_by_name("<group_name>")
## parent_group = nil로 설정하여 하위 그룹을 최상위 그룹으로 만듭니다
parent_group = Group.find_by(id: "<group_id>")
service = ::Groups::TransferService.new(group, user)
service.execute(parent_group)

Rails 콘솔을 사용하여 삭제 대기 중인 그룹 찾기

삭제 대기 중인 모든 그룹을 찾아야 하는 경우 Rails 콘솔 세션에서 다음 명령을 사용할 수 있습니다:

Group.all.each do |g|
 if g.marked_for_deletion?
    puts "그룹 ID: #{g.id}"
    puts "그룹 이름: #{g.name}"
    puts "그룹 경로: #{g.full_path}"
 end
end

Rails 콘솔을 사용하여 그룹 삭제

가끔 그룹 삭제가 막힐 수 있습니다. 필요한 경우 Rails 콘솔 세션에서 다음 명령을 사용하여 그룹을 삭제할 수 있습니다:

경고: 데이터를 변경하는 명령은 올바르게 실행되지 않거나 올바른 조건에서 실행되지 않는다면 손상을 일으킬 수 있습니다. 항상 먼저 테스트 환경에서 명령을 실행하고 복원할 백업 인스턴스를 준비하세요.

GroupDestroyWorker.new.perform(group_id, user_id)

사용자의 그룹 또는 프로젝트에 대한 최대 권한 찾기

관리자는 사용자의 그룹 또는 프로젝트에 대한 최대 권한을 찾을 수 있습니다.

  1. Rails 콘솔 세션을 시작합니다.
  2. 다음 명령을 실행합니다:

    user = User.find_by_username 'username'
    project = Project.find_by_full_path 'group/project'
    user.max_member_access_for_project project.id
    
    user = User.find_by_username 'username'
    group = Group.find_by_full_path 'group'
    user.max_member_access_for_group group.id
    

청구 가능 멤버를 삭제할 수 없음: 프로젝트 초대/그룹 초대 배지

사용자가 프로젝트 또는 그룹과 공유된 외부 그룹의 멤버인 경우 일반적으로 다음 오류가 발생합니다:

그룹 초대를 통해 초대된 멤버는 삭제할 수 없습니다. 전체 그룹을 삭제하거나 해당 초대된 그룹의 소유자에게 멤버를 삭제하도록 요청할 수 있습니다.

사용자를 청구 가능 멤버에서 삭제하려면 다음 옵션 중 하나를 따르세요:

  • 프로젝트 또는 그룹 멤버 페이지에서 초대된 그룹 멤버십을 삭제합니다.
  • 추천. 그룹에 직접 액세스할 수 있는 경우 초대된 그룹에서 사용자를 직접 삭제합니다.

삭제 단추 비활성화: 누락된 또는 충분하지 않은 권한

이 오류는 사용자가 container_registry 이미지를 그룹 이전 중에 보관된 프로젝트에서 제거하려고 시도할 때 일반적으로 발생합니다. 이 오류를 해결하려면:

  1. 프로젝트의 보관을 해제합니다.
  2. container_registry 이미지를 삭제합니다.
  3. 프로젝트를 보관합니다.