通过manifest清单导入项目到gitlab中

文章目录

说明

从gitlab 11.2引入此功能。

GitLab 允许根据manifest清单文件(如 Android 存储库使用的清单文件)导入所需的 Git 存储库。

使用manifest得要求

  • GitLab 必须对其数据库使用 PostgreSQL。
  • 至少是要导入到的目标组上的维护者角色。将开发人员角色用于此目的已在 GitLab 15.8 中弃用,并将在 GitLab 16.0 中删除。
  • 项目的权限必须是public。
  • manifest是基于用户来区别的,也就是说如果你在gitlab上已经成功导入过,那要想再次导入只能通过别的用户再导入。

Manifest 格式

  • manifest清单必须是 XML 文件。
  • 必须有一个remote 的tag,并且里面的 review 属性包含指向 Git 服务器的 URL。
  • 每个项目project 的tag需要有 name 和 path 属性。GitLab 通过将remote tag中的 URL 与项目名称组合来构建存储库的 URL。路径属性用于表示 GitLab 中的项目路径。

演示示例

AOSP示例文件:https://android.googlesource.com/platform/manifest/+/2d6f081a3b05d8ef7a2b1b52b0d536b2b74feab4/default.xml

案例如下:

bash 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remote  review="https://gitlabjh.bdeet.top/group/" />
  <project path="test/group/agent" name="agent.git" />
  <project path="test/group/codeowners" name="codeowners.git"/>
  <project path="test/group/ds-c" name="ds-c.git" />
  <project path="test/group/ds-c-2" name="ds-c-2.git" />
  <project path="test/group/ds-c-4" name="ds-c-4.git" />
  <project path="test/group/Frontendy" name="Frontend.git" />
  <project path="test/group/terrafrom" name="terrafrom.git" />
</manifest>

导入的过程如下:

相关推荐
daemon.qiang7 天前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
snow@li11 天前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
旧梦星轨13 天前
Git Flow 工作流实践
git·gitee·gitlab·github
旧梦星轨13 天前
Github Flow 与 Gitlab Flow工作流实践解读
gitlab·github
极小狐16 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li16 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab
极小狐17 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
DevOps老兵18 天前
AI Infra实战11:模型部署Pipeline——CI/CD自动化
人工智能·ci/cd·ai·自动化·gitlab
极小狐18 天前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化
极小狐18 天前
用 Flow 编排 Agent 智能体:极狐GitLab Duo 自定义工作流实战
ai·gitlab·agent·devops·flow·duo