通过上传 manifest 文件导入多个仓库

极狐GitLab 允许您基于 manifest 文件导入所有必需的 Git 仓库,例如 Android 仓库使用的文件。 当您需要导入具有许多仓库(如 Android 开源项目 (AOSP))的项目时,此功能非常方便。

要求

  • 需要维护者角色而不是开发者角色引入于极狐GitLab 16.0,并向后兼容至 15.11.1 和 15.10.5。
  • 导入源清单必需启用。如果未启用,请让您的管理员启用它。JihuLab.com 默认启用此功能。
  • 极狐GitLab 必需为他的数据库使用 PostgreSQL,因为清单导入需要使用子群组。更多详情可以参考数据库要求
  • 至少需要要导入项目的目标群组的维护者角色。

Manifest 格式

Manifest 必须是 XML 文件,必须有一个带有 review 属性的 remote 标签,其中包含一个 Git 服务器的 URL,并且每个 project 标签必须有一个 namepath 属性。然后,极狐GitLab 将通过将来自 remote 标记的 URL 与项目名称相结合来构建仓库的 URL。 路径属性用于表示极狐GitLab 中的项目路径。

下面是一个有效的 manifest 文件示例:

<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://jihulab.com/YOUR_GROUP/build/make https://android.googlesource.com/platform/build
https://jihulab.com/YOUR_GROUP/build/blueprint https://android.googlesource.com/platform/build/blueprint

导入仓库

开始导入:

  1. 从您的极狐GitLab 仪表盘中单击 新建项目
  2. 切换到 导入项目 选项卡。
  3. 点击 Manifest 文件 按钮。
  4. 为极狐GitLab 提供一个 manifest XML 文件。
  5. 选择您要导入的群组(如果没有群组,则需要先创建群组)。
  6. 单击 列出可用仓库。此时,您将被重定向到包含基于 manifest 文件的项目列表的导入状态页面。
  7. 要导入:
    • 首次导入所有项目:选择 导入所有仓库
    • 再次导入单个项目:选择 重导入。指定一个新的名称并再次选择 重导入。重导入会为源项目创建一个新的副本。