Exception: undefined method 'name' for nil:NilClass
Exception: undefined method 'full_path' for nil:NilClass
Exception: No such file or directory @ rb_sysopen - (filename)
Exception: Permission denied @ rb_sysopen - (filename)
Name can contain only letters, digits, emoji ...
Name has already been taken and Path has already been taken
Exception: Error importing repository into (namespace) - No space left on device
- 가져오기가
Total number of not imported relations: XX
와 함께 성공하는 경우 - 가져오기 중 Gitaly 호출 오류
프로젝트 가져오기 및 내보내기 문제 해결
가져오기 또는 내보내기에 문제가 있는 경우 디버그 모드를 활성화하기 위해 Rake 작업을 사용하세요.
# 가져오기
IMPORT_DEBUG=true gitlab-rake "gitlab:import_export:import[root, group/subgroup, testingprojectimport, /path/to/file_to_import.tar.gz]"
# 내보내기
EXPORT_DEBUG=true gitlab-rake "gitlab:import_export:export[root, group/subgroup, projectnametoexport, /tmp/export_file.tar.gz]"
그런 다음 특정 오류 메시지에 대한 다음 세부 정보를 검토하세요.
Exception: undefined method 'name' for nil:NilClass
username
이(가) 유효하지 않습니다.
Exception: undefined method 'full_path' for nil:NilClass
namespace_path
가 존재하지 않습니다.
예를 들어, 그룹 또는 서브그룹 중 하나가 잘못 입력되었거나 누락되었거나,
또는 경로에 프로젝트 이름이 지정된 경우입니다.
이 작업은 프로젝트를 만들 뿐입니다. 새 그룹이나 서브그룹으로 가져오려면 먼저 만들어야 합니다.
Exception: No such file or directory @ rb_sysopen - (filename)
archive_path
에 지정된 프로젝트 내보내기 파일이 없습니다.
Exception: Permission denied @ rb_sysopen - (filename)
git
사용자가 지정된 프로젝트 내보내기 파일에 액세스할 수 없습니다.
문제를 해결하려면:
- 파일 소유자를
git:git
로 설정합니다. - 파일 권한을
0400
으로 변경합니다. - 파일을 공용 폴더(예:
/tmp/
)로 이동합니다.
Name can contain only letters, digits, emoji ...
이름은 문자, 숫자, 이모지, '_', '.', '+', 대시 또는 공백만 포함할 수 있습니다. 문자, 숫자, 이모지, '_'로 시작해야 하며, 경로는 문자, 숫자, '_', '-', '.'만 포함할 수 있습니다. '-', '.git'로 끝나거나 '.atom'으로 끝나면 안 됩니다.
project_path
에 지정된 프로젝트 이름이 지정된 이유 중 하나로 유효하지 않습니다.
project_path
에는 프로젝트 이름만 넣으세요. 예를 들어, 서브그룹 경로를 제공하면 이 오류가 발생하므로 프로젝트 이름에 /
는 프로젝트 이름에 유효한 문자가 아닙니다.
Name has already been taken and Path has already been taken
해당 이름의 프로젝트가 이미 존재합니다.
Exception: Error importing repository into (namespace) - No space left on device
디스크에는 가져오기를 완료하기에 충분한 공간이 없습니다.
가져오기 중에 tar볼이 구성된 shared_path
디렉토리에 캐시됩니다. 디스크에는 캐시된 tar볼과 해체된 프로젝트 파일을 수용할 충분한 여유 공간이 있는지 확인하세요.
가져오기가 Total number of not imported relations: XX
와 함께 성공하는 경우
Total number of not imported relations: XX
메시지를 받으면서 가져오기 중에 이슈가 생성되지 않는 경우 exceptions_json.log를 확인하세요. N
이 4바이트 정수 한도를 초과하는 ActiveModel::Type::Integer
에 대한 오류가 있는 경우가 있습니다. 이 경우, 이슈의 relative_position
필드를 다시 균형을 맞추는 문제에 부딪힐 수 있습니다.
# 현재 relative_position의 최대 값 확인
Issue.where(project_id: Project.find(ID).root_namespace.all_projects).maximum(:relative_position)
# 균형 조정 프로세스 실행하고 relative_position의 최대 값이 변경되었는지 확인
Issues::RelativePositionRebalancingService.new(Project.find(ID).root_namespace.all_projects).execute
Issue.where(project_id: Project.find(ID).root_namespace.all_projects).maximum(:relative_position)
가져오기 시도를 반복하고 이슈가 성공적으로 가져오는지 확인하세요.
가져오기 중 Gitaly 호출 오류
개발 환경에 대규모 프로젝트를 가져오려고 시도하는 경우 Gitaly에서 호출이 너무 많거나 발생했다는 오류가 있을 수 있습니다. 예를 들어:
Error importing repository into qa-perf-testing/gitlabhq - GitalyClient#call called 31 times from single request. Potential n+1?
이 오류는 개발 환경용 n+1 호출 제한 때문입니다. 이 오류를 해결하려면 환경 변수로 GITALY_DISABLE_REQUEST_LIMITS=1
을 설정하세요. 그런 다음 개발 환경을 다시 시작하고 다시 가져오기를 수행하세요.