다중 리포지터리 가져오기 매니페스트 파일 업로드

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-Managed, GitLab Dedicated
  • GitLab 15.9에서 도입된 프로젝트 재가져오기 기능.

GitLab을 사용하면 Android 오픈 소스 프로젝트 (AOSP)와 같은 많은 리포지터리를 가진 프로젝트를 매니페스트 파일과 유사한 파일을 사용하여 가져올 수 있습니다.

필수 조건

  • GitLab 16.0에 소개되었으며 GitLab 15.11.1 및 GitLab 15.10.5로 백포트되었습니다.
  • 매니페스트 가져오기 소스 가 활성화되어 있어야 합니다. 비활성화된 경우 GitLab 관리자에게 활성화를 요청하세요. 매니페스트 가져오기 소스는 GitLab.com에서 기본적으로 활성화됩니다.
  • GitLab은 매니페스트 가져오기를 위해 하위 그룹을 필요로 하므로 데이터베이스로 PostgreSQL을 사용해야 합니다. 데이터베이스 요구 사항에 대해 더 읽어보세요.
  • 가져오기 대상 그룹에서 적어도 Maintainer 역할이 있어야 합니다.

매니페스트 형식

매니페스트는 XML 파일이어야 합니다. remote 태그에는 review 속성이 있어야 하며 이 속성에는 Git 서버의 URL이 포함되어야 합니다. 각 project 태그에는 namepath 속성이 있어야 합니다. 그런 다음 GitLab은 remote 태그에서 URL을 가져온 다음 프로젝트 이름과 결합하여 리포지터리의 URL을 작성합니다. path 속성은 GitLab의 프로젝트 경로를 나타내는 데 사용됩니다.

다음은 유효한 매니페스트 파일의 예입니다:

<manifest>
  <remote review="https://android.googlesource.com/" />
  
  <project path="build/make" name="platform/build" />
  <project path="build/blueprint" name="platform/build/blueprint" />
</manifest>

이로써 다음 프로젝트가 생성됩니다:

GitLab 가져오기 URL
https://gitlab.com/YOUR_GROUP/build/make https://android.googlesource.com/platform/build
https://gitlab.com/YOUR_GROUP/build/blueprint https://android.googlesource.com/platform/build/blueprint

리포지터리 가져오기

가져오기 시작하기:

  1. GitLab 대시보드에서 새 프로젝트를 선택합니다.
  2. 프로젝트 가져오기 탭으로 전환합니다.
  3. 매니페스트 파일을 선택합니다.
  4. GitLab에게 매니페스트 XML 파일을 제공합니다.
  5. 가져오려는 그룹을 선택합니다 (그룹이 없는 경우 먼저 그룹을 만들어야 합니다).
  6. 사용 가능한 리포지터리 디렉터리을 선택합니다. 이 시점에서 매니페스트 파일을 기반으로 한 프로젝트 디렉터리이 있는 가져오기 상태 페이지로 리디렉션됩니다.
  7. 가져오려면:
    • 첫 번째로 모든 프로젝트를 가져오려면 모든 리포지터리 가져오기를 선택합니다.
    • 다시 개별 프로젝트를 가져오려면 다시 가져오기를 선택합니다. 새 이름을 지정하고 다시 다시 가져오기를 선택합니다. 다시 가져오기는 소스 프로젝트의 새 복사본을 만듭니다.