InfoGrab Docs

프로젝트 가져오기 및 내보내기 문제 해결

요약

가져오기 또는 내보내기에 문제가 있는 경우 Rake 작업을 사용하여 디버그 모드를 활성화합니다: 그런 다음 특정 오류 메시지에 대한 다음 세부 사항을 검토합니다. username이 유효하지 않습니다. namespace_path가 존재하지 않습니다.

가져오기 또는 내보내기에 문제가 있는 경우 Rake 작업을 사용하여 디버그 모드를 활성화합니다:

# Import
IMPORT_DEBUG=true gitlab-rake "gitlab:import_export:import[root, group/subgroup, testingprojectimport, /path/to/file_to_import.tar.gz]"

# Export
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 사용자가 액세스할 수 없습니다.

문제를 해결하려면:

  1. 파일 소유자를 git:git으로 설정합니다.
  2. 파일 권한을 0400으로 변경합니다.
  3. 파일을 공개 폴더(예: /tmp/)로 이동합니다.

Name can contain only letters, digits, emoji ...#

Name can contain only letters, digits, emoji, '_', '.', '+', dashes, or spaces. It must start with a letter,
digit, emoji, or '_', and Path can contain only letters, digits, '_', '-', or '.'. It cannot start
with '-', end in '.git', or end in '.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#

디스크에 가져오기를 완료할 공간이 부족합니다.

가져오기 중에 tarball은 구성된 shared_path 디렉토리에 캐시됩니다. 디스크에 캐시된 tarball과 압축 해제된 프로젝트 파일 모두를 수용할 충분한 여유 공간이 있는지 확인하세요.

Total number of not imported relations: XX 메시지와 함께 가져오기 성공#

Total number of not imported relations: XX 메시지를 받고 가져오기 중에 이슈가 생성되지 않는 경우 exceptions_json.log를 확인하세요. N is out of range for ActiveModel::Type::Integer with limit 4 bytes와 같은 오류가 표시될 수 있습니다. 여기서 N은 4바이트 정수 제한을 초과하는 정수입니다. 그런 경우 이슈의 relative_position 필드 리밸런싱 문제에 직면하고 있을 가능성이 있습니다.

# Check the current maximum value of relative_position
Issue.where(project_id: Project.find(ID).root_namespace.all_projects).maximum(:relative_position)

# Run the rebalancing process and check if the maximum value of relative_position has changed
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을 설정합니다. 그런 다음 개발 환경을 재시작하고 다시 가져오기를 시도합니다.

프로젝트 가져오기 및 내보내기 문제 해결

원문 보기
요약

가져오기 또는 내보내기에 문제가 있는 경우 Rake 작업을 사용하여 디버그 모드를 활성화합니다: 그런 다음 특정 오류 메시지에 대한 다음 세부 사항을 검토합니다. username이 유효하지 않습니다. namespace_path가 존재하지 않습니다.

가져오기 또는 내보내기에 문제가 있는 경우 Rake 작업을 사용하여 디버그 모드를 활성화합니다:

# Import
IMPORT_DEBUG=true gitlab-rake "gitlab:import_export:import[root, group/subgroup, testingprojectimport, /path/to/file_to_import.tar.gz]"

# Export
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 사용자가 액세스할 수 없습니다.

문제를 해결하려면:

  1. 파일 소유자를 git:git으로 설정합니다.
  2. 파일 권한을 0400으로 변경합니다.
  3. 파일을 공개 폴더(예: /tmp/)로 이동합니다.

Name can contain only letters, digits, emoji ...#

Name can contain only letters, digits, emoji, '_', '.', '+', dashes, or spaces. It must start with a letter,
digit, emoji, or '_', and Path can contain only letters, digits, '_', '-', or '.'. It cannot start
with '-', end in '.git', or end in '.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#

디스크에 가져오기를 완료할 공간이 부족합니다.

가져오기 중에 tarball은 구성된 shared_path 디렉토리에 캐시됩니다. 디스크에 캐시된 tarball과 압축 해제된 프로젝트 파일 모두를 수용할 충분한 여유 공간이 있는지 확인하세요.

Total number of not imported relations: XX 메시지와 함께 가져오기 성공#

Total number of not imported relations: XX 메시지를 받고 가져오기 중에 이슈가 생성되지 않는 경우 exceptions_json.log를 확인하세요. N is out of range for ActiveModel::Type::Integer with limit 4 bytes와 같은 오류가 표시될 수 있습니다. 여기서 N은 4바이트 정수 제한을 초과하는 정수입니다. 그런 경우 이슈의 relative_position 필드 리밸런싱 문제에 직면하고 있을 가능성이 있습니다.

# Check the current maximum value of relative_position
Issue.where(project_id: Project.find(ID).root_namespace.all_projects).maximum(:relative_position)

# Run the rebalancing process and check if the maximum value of relative_position has changed
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을 설정합니다. 그런 다음 개발 환경을 재시작하고 다시 가져오기를 시도합니다.