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

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed, GitLab Dedicated
  • GitLab 15.9에서 도입된 프로젝트를 다시 가져오는 기능이 있습니다. 소개됨.

GitLab은 Android 리포지토리와 같이 매니페스트 파일을 기반으로 필요한 모든 Git 리포지토리를 가져올 수 있게 해줍니다.
매니페스트를 사용하여 Android 오픈 소스 프로젝트(AOSP)와 같은 여러 리포지토리가 있는 프로젝트를 가져올 수 있습니다.

필수 조건

  • GitLab 16.0에서 도입된 Maintainer 역할의 요구 사항이 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 Import 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. 가져오려면:
    • 처음에는 모든 프로젝트: 모든 리포지토리 가져오기를 선택합니다.
    • 개별 프로젝트를 다시 가져오려면: 다시 가져오기를 선택합니다. 새 이름을 지정하고 다시 다시 가져오기를 선택합니다. 다시 가져오기는 원본 프로젝트의 새 복사본을 생성합니다.