InfoGrab DocsInfoGrab Docs

커스텀 그룹 레벨 프로젝트 템플릿 개발 가이드라인

요약

이 문서는 컨트리뷰터가 커스텀 그룹 레벨 프로젝트 템플릿의 코드 설계를 이해하는 데 도움을 주기 위해 작성되었습니다. 이 문서는 코드가 자주 변경될 수 있으므로 의도적으로 코드 설계 개요에 한정됩니다. 이 문서에서 참조하는 코드베이스의 일부가 업데이트되거나 제거되거나, 새로운 부분이 추가되면 이 문서도 함께 업데이트해야 합니다.

이 문서는 컨트리뷰터가 커스텀 그룹 레벨 프로젝트 템플릿의 코드 설계를 이해하는 데 도움을 주기 위해 작성되었습니다. 이 기능의 코드를 변경하기 전에 이 문서를 읽어야 합니다.

이 문서는 코드가 자주 변경될 수 있으므로 의도적으로 코드 설계 개요에 한정됩니다. 특정 기능 부분이 어떻게 동작하는지 이해하려면 코드와 스펙을 확인하세요. 여기에서는 템플릿 기능의 주요 컴포넌트가 어떻게 동작하는지 설명합니다.

이 문서에서 참조하는 코드베이스의 일부가 업데이트되거나 제거되거나, 새로운 부분이 추가되면 이 문서도 함께 업데이트해야 합니다.

기본 개요#

커스텀 그룹 레벨 프로젝트 템플릿은 내보내기(export)한 후 새로 생성된 프로젝트로 가져오기(import)되는 일반 프로젝트입니다.

Subgroup1이라는 템플릿 하위 그룹을 포함하는 Group1이 있다고 가정합니다. Subgroup1 안에 Template1이라는 프로젝트가 있습니다. User1Template1을 사용하여 Group1 안에 Project1을 생성할 때, 로직은 다음 단계를 따릅니다:

  • Project1 초기화

  • Template1 내보내기

  • Project1로 가져오기

비즈니스 로직#

  • ProjectsController#create: 흐름이 시작되는 컨트롤러

app/controllers/projects_controller.rb에 정의되어 있습니다.

  • Projects::CreateService: 프로젝트 생성을 처리합니다.

app/services/projects/create_service.rb에 정의되어 있습니다.

  • EE::Projects::CreateService: 생성 서비스의 EE 확장

ee/app/services/ee/projects/create_service.rb에 정의되어 있습니다.

  • Projects::CreateFromTemplateService: 커스텀 프로젝트 템플릿으로부터 프로젝트 생성을 처리합니다.

app/services/projects/create_from_template_service.rb에 정의되어 있습니다.

  • EE:Projects::CreateFromTemplateService: 템플릿에서 생성 서비스의 EE 확장

ee/app/services/ee/projects/create_from_template_service.rb에 정의되어 있습니다.

  • Projects::GitlabProjectsImportService: 템플릿 가져오기를 처리합니다.

app/services/projects/gitlab_projects_import_service.rb에 정의되어 있습니다.

  • EE::Projects::GitlabProjectsImportService: 가져오기 서비스의 EE 확장

ee/app/services/ee/projects/gitlab_projects_import_service.rb에 정의되어 있습니다.

  • ProjectTemplateExportWorker: 커스텀 템플릿 내보내기를 처리합니다.

ee/app/workers/project_template_export_worker.rb에 정의되어 있습니다.

  • ProjectExportWorker: ProjectTemplateExportWorker의 기본 클래스

app/workers/project_export_worker.rb에 정의되어 있습니다.

  • Projects::ImportExport::ExportService: 프로젝트를 내보내는 서비스

app/workers/project_export_worker.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::VersionSaver: 버전 내보내기를 처리합니다.

lib/gitlab/import_export/version_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::UploadsManager: 업로드된 파일 내보내기를 처리합니다.

lib/gitlab/import_export/uploads_manager.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::AvatarSaver: 아바타를 내보냅니다.

lib/gitlab/import_export/avatar_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::TreeSaver: 프로젝트와 관련 객체를 내보냅니다.

lib/gitlab/import_export/project/tree_saver.rb에 정의되어 있습니다.

  • EE:Gitlab::ImportExport::Project::TreeSaver: 프로젝트와 관련 객체를 내보냅니다.

lib/gitlab/import_export/project/tree_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Json::StreamingSerializer: 내보낸 객체를 JSON으로 직렬화합니다.

lib/gitlab/import_export/json/streaming_serializer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Reader: 내보낸 JSON 파일에 대한 래퍼(wrapper)

lib/gitlab/import_export/reader.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::AttributesFinder: 설정을 파싱하고 내보낸 JSON 파일에서 속성을 찾습니다.

lib/gitlab/import_export/attributes_finder.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Config: 가져오기/내보내기 YAML 설정 파일에 대한 래퍼

lib/gitlab/import_export/config.rb에 정의되어 있습니다.

  • Gitlab::ImportExport: 편의 메서드를 갖춘 진입점

lib/gitlab/import_export.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::UploadsSaver: 업로드된 파일을 내보냅니다.

lib/gitlab/import_export/uploads_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::RepoSaver: 리포지터리를 내보냅니다.

lib/gitlab/import_export/repo_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::WikiRepoSaver: 위키 리포지터리를 내보냅니다.

lib/gitlab/import_export/wiki_repo_saver.rb에 정의되어 있습니다.

  • EE:Gitlab::ImportExport::WikiRepoSaver: 위키 리포지터리 저장기를 확장합니다.

ee/lib/ee/gitlab/import_export/wiki_repo_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::LfsSaver: LFS 객체와 파일을 내보냅니다.

lib/gitlab/import_export/lfs_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::SnippetsRepoSaver: 스니펫 리포지터리를 내보냅니다.

lib/gitlab/import_export/snippet_repo_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::DesignRepoSaver: 디자인 리포지터리를 내보냅니다.

lib/gitlab/import_export/design_repo_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Error: 커스텀 오류 객체

lib/gitlab/import_export/error.rb에 정의되어 있습니다.

  • Import::AfterExportStrategies::AfterExportStrategyBuilder: 내보내기 완료 후 실행할 콜백 역할을 합니다.

lib/import/after_export_strategies/after_export_strategy_builder.rb에 정의되어 있습니다.

  • Gitlab::Export::Logger: 내보내기 중 사용되는 로거

lib/gitlab/export/logger.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::LogUtil: 로그 메시지를 구성합니다.

lib/gitlab/import_export/log_util.rb에 정의되어 있습니다.

  • Import::AfterExportStrategies::CustomTemplateExportImportStrategy: 템플릿 내보내기 완료 후 해당 템플릿을 가져오는 콜백 클래스

ee/lib/import/after_export_strategies/custom_template_export_import_strategy.rb에 정의되어 있습니다.

  • Gitlab::TemplateHelper: 템플릿 가져오기를 위한 헬퍼

lib/gitlab/template_helper.rb에 정의되어 있습니다.

  • ImportExportUpload: 가져오기 및 내보내기 아카이브 파일을 저장합니다.

app/models/import_export_upload.rb에 정의되어 있습니다.

  • Import::AfterExportStrategies::BaseAfterExportStrategy: 내보내기 후 기본 전략

lib/import/after_export_strategies/base_after_export_strategy.rb에 정의되어 있습니다.

  • RepositoryImportWorker: 가져오기 단계를 트리거하는 워커

app/workers/repository_import_worker.rb에 정의되어 있습니다.

  • EE::RepositoryImportWorker: 리포지터리 가져오기 워커의 확장

ee/app/workers/ee/repository_import_worker.rb에 정의되어 있습니다.

  • Projects::ImportService: 가져오기 단계를 실행합니다.

app/services/projects/import_service.rb에 정의되어 있습니다.

  • EE:Projects::ImportService: 가져오기 서비스를 확장합니다.

ee/app/services/ee/projects/import_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsImportService: LFS 객체를 가져옵니다.

app/services/projects/lfs_pointers/lfs_import_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsObjectDownloadListService: LFS 객체 다운로드 링크를 요청하는 메인 서비스

app/services/projects/lfs_pointers/lfs_object_download_list_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsDownloadLinkListService: 배치 단위로 링크를 요청하고 목록을 구성하는 것을 처리합니다.

app/services/projects/lfs_pointers/lfs_download_link_list_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsListService: LFS blob 포인터를 가져옵니다.

app/services/projects/lfs_pointers/lfs_list_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsDownloadService: LFS 객체를 다운로드하고 연결합니다.

app/services/projects/lfs_pointers/lfs_download_service.rb에 정의되어 있습니다.

  • Gitlab::ImportSources: 사용할 임포터를 설정하는 모듈

lib/gitlab/import_sources.rb에 정의되어 있습니다.

  • EE::Gitlab::ImportSources: 가져오기 소스를 확장합니다.

ee/lib/ee/gitlab/import_sources.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Importer: 임포터 클래스

lib/gitlab/import_export/importer.rb에 정의되어 있습니다.

  • EE::Gitlab::ImportExport::Importer: 임포터를 확장합니다.

ee/lib/ee/gitlab/import_export/importer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::FileImporter: 아카이브 파일을 가져옵니다.

lib/gitlab/import_export/file_importer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::DecompressedArchiveSizeValidator: 아카이브 파일 크기를 검증합니다.

lib/gitlab/import_export/decompressed_archive_size_validator.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::VersionChecker: 내보내기 버전이 임포터와 일치하는지 확인합니다.

lib/gitlab/import_export/version_checker.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::TreeRestorer: 프로젝트와 연관된 객체 가져오기를 처리합니다.

lib/gitlab/import_export/project/tree_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Json::NdjsonReader: JSON 내보내기 파일을 위한 리더

lib/gitlab/import_export/json/ndjson_reader.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::AvatarRestorer: 아바타 파일 가져오기를 처리합니다.

lib/gitlab/import_export/avatar_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::RepoRestorer: 리포지터리 가져오기를 처리합니다.

lib/gitlab/import_export/repo_restorer.rb에 정의되어 있습니다.

  • EE:Gitlab::ImportExport::RepoRestorer: 리포지터리 복원기를 확장합니다.

ee/lib/ee/gitlab/import_export/repo_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::DesignRepoRestorer: 디자인 리포지터리 복원을 처리합니다.

lib/gitlab/import_export/design_repo_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::UploadsRestorer: 업로드된 파일 복원을 처리합니다.

lib/gitlab/import_export/uploads_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::LfsRestorer: LFS 객체를 복원합니다.

lib/gitlab/import_export/lfs_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::SnippetsRepoRestorer: 스니펫 리포지터리 복원을 처리합니다.

lib/gitlab/import_export/snippets_repo_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::SnippetRepoRestorer: 개별 스니펫 복원을 처리합니다.

lib/gitlab/import_export/snippet_repo_restorer.rb에 정의되어 있습니다.

  • Snippets::RepositoryValidationService: 스니펫 리포지터리 아카이브를 검증합니다.

app/services/snippets/repository_validation_service.rb에 정의되어 있습니다.

  • Snippets::UpdateStatisticsService: 스니펫 리포지터리의 통계를 업데이트합니다.

app/services/snippets/update_statistics_service.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::StatisticsRestorer: 프로젝트 통계를 새로 고칩니다.

lib/gitlab/import_export/importer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::CustomTemplateRestorer: 커스텀 템플릿에 대한 추가 가져오기를 처리합니다.

ee/lib/gitlab/import_export/project/custom_template_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::ProjectHooksRestorer: 프로젝트 훅 가져오기를 처리합니다.

ee/lib/gitlab/import_export/project/project_hooks_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::DeployKeysRestorer: 배포 키 가져오기를 처리합니다.

ee/lib/gitlab/import_export/project/deploy_keys_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::CustomTemplateRestorerHelper: 커스텀 템플릿 복원기를 위한 헬퍼

ee/lib/gitlab/import_export/project/custom_template_restorer_helper.rb에 정의되어 있습니다.

커스텀 그룹 레벨 프로젝트 템플릿 개발 가이드라인

GitLab v19.1
원문 보기
요약

이 문서는 컨트리뷰터가 커스텀 그룹 레벨 프로젝트 템플릿의 코드 설계를 이해하는 데 도움을 주기 위해 작성되었습니다. 이 문서는 코드가 자주 변경될 수 있으므로 의도적으로 코드 설계 개요에 한정됩니다. 이 문서에서 참조하는 코드베이스의 일부가 업데이트되거나 제거되거나, 새로운 부분이 추가되면 이 문서도 함께 업데이트해야 합니다.

이 문서는 컨트리뷰터가 커스텀 그룹 레벨 프로젝트 템플릿의 코드 설계를 이해하는 데 도움을 주기 위해 작성되었습니다. 이 기능의 코드를 변경하기 전에 이 문서를 읽어야 합니다.

이 문서는 코드가 자주 변경될 수 있으므로 의도적으로 코드 설계 개요에 한정됩니다. 특정 기능 부분이 어떻게 동작하는지 이해하려면 코드와 스펙을 확인하세요. 여기에서는 템플릿 기능의 주요 컴포넌트가 어떻게 동작하는지 설명합니다.

이 문서에서 참조하는 코드베이스의 일부가 업데이트되거나 제거되거나, 새로운 부분이 추가되면 이 문서도 함께 업데이트해야 합니다.

기본 개요#

커스텀 그룹 레벨 프로젝트 템플릿은 내보내기(export)한 후 새로 생성된 프로젝트로 가져오기(import)되는 일반 프로젝트입니다.

Subgroup1이라는 템플릿 하위 그룹을 포함하는 Group1이 있다고 가정합니다. Subgroup1 안에 Template1이라는 프로젝트가 있습니다. User1Template1을 사용하여 Group1 안에 Project1을 생성할 때, 로직은 다음 단계를 따릅니다:

  • Project1 초기화

  • Template1 내보내기

  • Project1로 가져오기

비즈니스 로직#

  • ProjectsController#create: 흐름이 시작되는 컨트롤러

app/controllers/projects_controller.rb에 정의되어 있습니다.

  • Projects::CreateService: 프로젝트 생성을 처리합니다.

app/services/projects/create_service.rb에 정의되어 있습니다.

  • EE::Projects::CreateService: 생성 서비스의 EE 확장

ee/app/services/ee/projects/create_service.rb에 정의되어 있습니다.

  • Projects::CreateFromTemplateService: 커스텀 프로젝트 템플릿으로부터 프로젝트 생성을 처리합니다.

app/services/projects/create_from_template_service.rb에 정의되어 있습니다.

  • EE:Projects::CreateFromTemplateService: 템플릿에서 생성 서비스의 EE 확장

ee/app/services/ee/projects/create_from_template_service.rb에 정의되어 있습니다.

  • Projects::GitlabProjectsImportService: 템플릿 가져오기를 처리합니다.

app/services/projects/gitlab_projects_import_service.rb에 정의되어 있습니다.

  • EE::Projects::GitlabProjectsImportService: 가져오기 서비스의 EE 확장

ee/app/services/ee/projects/gitlab_projects_import_service.rb에 정의되어 있습니다.

  • ProjectTemplateExportWorker: 커스텀 템플릿 내보내기를 처리합니다.

ee/app/workers/project_template_export_worker.rb에 정의되어 있습니다.

  • ProjectExportWorker: ProjectTemplateExportWorker의 기본 클래스

app/workers/project_export_worker.rb에 정의되어 있습니다.

  • Projects::ImportExport::ExportService: 프로젝트를 내보내는 서비스

app/workers/project_export_worker.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::VersionSaver: 버전 내보내기를 처리합니다.

lib/gitlab/import_export/version_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::UploadsManager: 업로드된 파일 내보내기를 처리합니다.

lib/gitlab/import_export/uploads_manager.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::AvatarSaver: 아바타를 내보냅니다.

lib/gitlab/import_export/avatar_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::TreeSaver: 프로젝트와 관련 객체를 내보냅니다.

lib/gitlab/import_export/project/tree_saver.rb에 정의되어 있습니다.

  • EE:Gitlab::ImportExport::Project::TreeSaver: 프로젝트와 관련 객체를 내보냅니다.

lib/gitlab/import_export/project/tree_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Json::StreamingSerializer: 내보낸 객체를 JSON으로 직렬화합니다.

lib/gitlab/import_export/json/streaming_serializer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Reader: 내보낸 JSON 파일에 대한 래퍼(wrapper)

lib/gitlab/import_export/reader.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::AttributesFinder: 설정을 파싱하고 내보낸 JSON 파일에서 속성을 찾습니다.

lib/gitlab/import_export/attributes_finder.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Config: 가져오기/내보내기 YAML 설정 파일에 대한 래퍼

lib/gitlab/import_export/config.rb에 정의되어 있습니다.

  • Gitlab::ImportExport: 편의 메서드를 갖춘 진입점

lib/gitlab/import_export.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::UploadsSaver: 업로드된 파일을 내보냅니다.

lib/gitlab/import_export/uploads_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::RepoSaver: 리포지터리를 내보냅니다.

lib/gitlab/import_export/repo_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::WikiRepoSaver: 위키 리포지터리를 내보냅니다.

lib/gitlab/import_export/wiki_repo_saver.rb에 정의되어 있습니다.

  • EE:Gitlab::ImportExport::WikiRepoSaver: 위키 리포지터리 저장기를 확장합니다.

ee/lib/ee/gitlab/import_export/wiki_repo_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::LfsSaver: LFS 객체와 파일을 내보냅니다.

lib/gitlab/import_export/lfs_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::SnippetsRepoSaver: 스니펫 리포지터리를 내보냅니다.

lib/gitlab/import_export/snippet_repo_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::DesignRepoSaver: 디자인 리포지터리를 내보냅니다.

lib/gitlab/import_export/design_repo_saver.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Error: 커스텀 오류 객체

lib/gitlab/import_export/error.rb에 정의되어 있습니다.

  • Import::AfterExportStrategies::AfterExportStrategyBuilder: 내보내기 완료 후 실행할 콜백 역할을 합니다.

lib/import/after_export_strategies/after_export_strategy_builder.rb에 정의되어 있습니다.

  • Gitlab::Export::Logger: 내보내기 중 사용되는 로거

lib/gitlab/export/logger.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::LogUtil: 로그 메시지를 구성합니다.

lib/gitlab/import_export/log_util.rb에 정의되어 있습니다.

  • Import::AfterExportStrategies::CustomTemplateExportImportStrategy: 템플릿 내보내기 완료 후 해당 템플릿을 가져오는 콜백 클래스

ee/lib/import/after_export_strategies/custom_template_export_import_strategy.rb에 정의되어 있습니다.

  • Gitlab::TemplateHelper: 템플릿 가져오기를 위한 헬퍼

lib/gitlab/template_helper.rb에 정의되어 있습니다.

  • ImportExportUpload: 가져오기 및 내보내기 아카이브 파일을 저장합니다.

app/models/import_export_upload.rb에 정의되어 있습니다.

  • Import::AfterExportStrategies::BaseAfterExportStrategy: 내보내기 후 기본 전략

lib/import/after_export_strategies/base_after_export_strategy.rb에 정의되어 있습니다.

  • RepositoryImportWorker: 가져오기 단계를 트리거하는 워커

app/workers/repository_import_worker.rb에 정의되어 있습니다.

  • EE::RepositoryImportWorker: 리포지터리 가져오기 워커의 확장

ee/app/workers/ee/repository_import_worker.rb에 정의되어 있습니다.

  • Projects::ImportService: 가져오기 단계를 실행합니다.

app/services/projects/import_service.rb에 정의되어 있습니다.

  • EE:Projects::ImportService: 가져오기 서비스를 확장합니다.

ee/app/services/ee/projects/import_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsImportService: LFS 객체를 가져옵니다.

app/services/projects/lfs_pointers/lfs_import_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsObjectDownloadListService: LFS 객체 다운로드 링크를 요청하는 메인 서비스

app/services/projects/lfs_pointers/lfs_object_download_list_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsDownloadLinkListService: 배치 단위로 링크를 요청하고 목록을 구성하는 것을 처리합니다.

app/services/projects/lfs_pointers/lfs_download_link_list_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsListService: LFS blob 포인터를 가져옵니다.

app/services/projects/lfs_pointers/lfs_list_service.rb에 정의되어 있습니다.

  • Projects::LfsPointers::LfsDownloadService: LFS 객체를 다운로드하고 연결합니다.

app/services/projects/lfs_pointers/lfs_download_service.rb에 정의되어 있습니다.

  • Gitlab::ImportSources: 사용할 임포터를 설정하는 모듈

lib/gitlab/import_sources.rb에 정의되어 있습니다.

  • EE::Gitlab::ImportSources: 가져오기 소스를 확장합니다.

ee/lib/ee/gitlab/import_sources.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Importer: 임포터 클래스

lib/gitlab/import_export/importer.rb에 정의되어 있습니다.

  • EE::Gitlab::ImportExport::Importer: 임포터를 확장합니다.

ee/lib/ee/gitlab/import_export/importer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::FileImporter: 아카이브 파일을 가져옵니다.

lib/gitlab/import_export/file_importer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::DecompressedArchiveSizeValidator: 아카이브 파일 크기를 검증합니다.

lib/gitlab/import_export/decompressed_archive_size_validator.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::VersionChecker: 내보내기 버전이 임포터와 일치하는지 확인합니다.

lib/gitlab/import_export/version_checker.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::TreeRestorer: 프로젝트와 연관된 객체 가져오기를 처리합니다.

lib/gitlab/import_export/project/tree_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Json::NdjsonReader: JSON 내보내기 파일을 위한 리더

lib/gitlab/import_export/json/ndjson_reader.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::AvatarRestorer: 아바타 파일 가져오기를 처리합니다.

lib/gitlab/import_export/avatar_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::RepoRestorer: 리포지터리 가져오기를 처리합니다.

lib/gitlab/import_export/repo_restorer.rb에 정의되어 있습니다.

  • EE:Gitlab::ImportExport::RepoRestorer: 리포지터리 복원기를 확장합니다.

ee/lib/ee/gitlab/import_export/repo_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::DesignRepoRestorer: 디자인 리포지터리 복원을 처리합니다.

lib/gitlab/import_export/design_repo_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::UploadsRestorer: 업로드된 파일 복원을 처리합니다.

lib/gitlab/import_export/uploads_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::LfsRestorer: LFS 객체를 복원합니다.

lib/gitlab/import_export/lfs_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::SnippetsRepoRestorer: 스니펫 리포지터리 복원을 처리합니다.

lib/gitlab/import_export/snippets_repo_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::SnippetRepoRestorer: 개별 스니펫 복원을 처리합니다.

lib/gitlab/import_export/snippet_repo_restorer.rb에 정의되어 있습니다.

  • Snippets::RepositoryValidationService: 스니펫 리포지터리 아카이브를 검증합니다.

app/services/snippets/repository_validation_service.rb에 정의되어 있습니다.

  • Snippets::UpdateStatisticsService: 스니펫 리포지터리의 통계를 업데이트합니다.

app/services/snippets/update_statistics_service.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::StatisticsRestorer: 프로젝트 통계를 새로 고칩니다.

lib/gitlab/import_export/importer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::CustomTemplateRestorer: 커스텀 템플릿에 대한 추가 가져오기를 처리합니다.

ee/lib/gitlab/import_export/project/custom_template_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::ProjectHooksRestorer: 프로젝트 훅 가져오기를 처리합니다.

ee/lib/gitlab/import_export/project/project_hooks_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::DeployKeysRestorer: 배포 키 가져오기를 처리합니다.

ee/lib/gitlab/import_export/project/deploy_keys_restorer.rb에 정의되어 있습니다.

  • Gitlab::ImportExport::Project::CustomTemplateRestorerHelper: 커스텀 템플릿 복원기를 위한 헬퍼

ee/lib/gitlab/import_export/project/custom_template_restorer_helper.rb에 정의되어 있습니다.