여러 리포지터리를 매니페스트 파일을 업로드하여 가져오기

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated

GitLab을 사용하면 Android 리포지터리에서 사용되는 것과 유사한 매니페스트 파일을 기반으로 필요한 모든 Git 리포지터리를 가져올 수 있습니다. Android 오픈 소스 프로젝트 (AOSP)와 같이 여러 리포지터리로 구성된 프로젝트를 가져오려면 매니페스트를 사용하세요.

전제 조건

  • GitLab 16.0에서 Maintainer 역할 요구사항이 Developer 역할 대신 도입되었으며, 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. 가져오려면:
    • 처음에 모든 프로젝트를 가져오려면 모든 리포지터리 가져오기를 선택합니다.
    • 다시 개별 프로젝트를 가져오려면 다시 가져오기를 선택합니다. 새 이름을 지정하고 다시 다시 가져오기를 선택합니다. 다시 가져오기는 소스 프로젝트의 새 사본을 생성합니다.