여러 리포지터리를 매니페스트 파일을 업로드하여 가져오기
Tier: Free, Premium, Ultimate
Offering: GitLab.com, Self-managed, GitLab Dedicated
- GitLab 11.2에서 소개됨.
 - 프로젝트 다시 가져오기 기능은 GitLab 15.9에서 소개됨.
 
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 태그에는 name 및 path 속성이 있어야 합니다. 그런 다음 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 | 
리포지터리 가져오기
가져오기를 시작하려면:
- GitLab 대시보드에서 새 프로젝트를 선택합니다.
 - 프로젝트 가져오기 탭으로 전환합니다.
 - 매니페스트 파일을 선택합니다.
 - GitLab에 매니페스트 XML 파일을 제공합니다.
 - 가져오기를 원하는 그룹을 선택합니다 (그룹이 없는 경우 먼저 그룹을 만들어야 함).
 - 사용 가능한 리포지터리 디렉터리을 선택합니다. 이 시점에서 매니페스트 파일을 기반으로한 프로젝트 디렉터리이 있는 가져오기 상태 페이지로 리디렉션됩니다.
 - 가져오려면:
- 처음에 모든 프로젝트를 가져오려면 모든 리포지터리 가져오기를 선택합니다.
 - 다시 개별 프로젝트를 가져오려면 다시 가져오기를 선택합니다. 새 이름을 지정하고 다시 다시 가져오기를 선택합니다. 다시 가져오기는 소스 프로젝트의 새 사본을 생성합니다.
 
 
도움말