여러 리포지터리를 매니페스트 파일을 업로드하여 가져오기
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 파일을 제공합니다.
- 가져오기를 원하는 그룹을 선택합니다 (그룹이 없는 경우 먼저 그룹을 만들어야 함).
- 사용 가능한 리포지터리 디렉터리을 선택합니다. 이 시점에서 매니페스트 파일을 기반으로한 프로젝트 디렉터리이 있는 가져오기 상태 페이지로 리디렉션됩니다.
- 가져오려면:
- 처음에 모든 프로젝트를 가져오려면 모든 리포지터리 가져오기를 선택합니다.
- 다시 개별 프로젝트를 가져오려면 다시 가져오기를 선택합니다. 새 이름을 지정하고 다시 다시 가져오기를 선택합니다. 다시 가져오기는 소스 프로젝트의 새 사본을 생성합니다.