ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

极狐gitlab数据手动导出导入测试

2022-08-31 17:02:44  阅读:220  来源: 互联网

标签:test1 test2 账号 issue gitlab 极狐 导入 root


极狐gitlab数据手动导出导入测试

本文主要测试从源极狐gitlab实例手动迁移数据到目标极狐gitlab实例的可行性。

1. 源极狐gitlab 实例

版本:极狐gitlab v14.10.0

1.1 用户信息

其中 test1 用户属于组 usergroup

1.2 组信息

1.3 组 leffss 信息

1.3.1 组成员信息

包含用户 test2

包含组 usergroup,其中包含用户 test1

1.3.2 子组与项目信息

包含项目 p1、test,子组 testws\test2222

1.3.3 issue 信息

  • issue1 in p1 为 p1 项目,分配给 test1 用户

  • issue2 in test 为 test 项目,分配给 test2 用户

1.3.4 Epics 信息

Epic1 管理 issue1 in p1 和 issue2 in test

1.3.5 Milestone 信息

Milestone1 管理 issue1 in p1

1.4 导出 leffss 组

test2 角色为 owner,故使用 test2 账号导出

组 -- settings -- general -- Advanced -- Export group:

下载导出的组:

1.5 导出 leffss 组下项目

与导出组类似,参考 1.4 章节,使用 test2 账号导出即可

2. 目标极狐gitlab 实例

版本:极狐gitlab v14.10.0

2.1 不创建账号导入

直接使用目标实例 root 管理员账号导入

发现一直转圈,等一会刷新页面即可

然后再将项目导入组 leffss 中,最终发现 issue、epics、milestone 关系都存在,但是 issue 的分配人全部变成 root 管理员了

2.2 创建账号后导入

创建账号 test1 和 test2,以及 usergroup 后,使用 root 账号导入:

导入的组,没有成员信息

然后再使用 root 账号将项目导入组 leffss 中,最终发现 issue、epics、milestone 关系都存在,但是 issue 的分配人全部变成 root 管理员了

虽然有分配记录,但是 issue 还是分配给 root 账号

2.3 创建账号后导入(手动创建成员信息,root 账号导入)

创建账号 test1 和 test2,以及 usergroup 后,使用 root 账号导入:

导入的组,没有成员信息

然后参照源 gitlab 实例手动创建 leffss 组成员信息

然后再使用 root 账号将项目导入组 leffss 中,结果同 2.2 章节

2.4 创建账号后导入(手动创建成员信息,test2 账号导入)

创建账号 test1 和 test2,以及 usergroup 后,使用 root 账号导入:

导入的组,没有成员信息

然后参照源 gitlab 实例手动创建 leffss 组成员信息

然后再使用 test2 账号将项目导入组 leffss 中,结果同 2.2 章节,只是所有 issue 的分配人全部变成 test2 账号了

3. 把账号 public_email 设置为 email 后再导入

源、目标实例 test1 和 test2 都设置 public_email,且都有 test1、test2 账号,以及 usergroup 组(源实例必选设置,目标不需设置,但是还是建议都设置,保持一致)

设置方法:登陆后右上角 - edit profile - Public email

或者

参考API:

情况一:源组的成员包含成员test2和组成员usergroup(包含test1)

结果:使用root账号导入组到目标实例后,无法导入组成员 usergroup,只导入了 test2 成员,然后不做操作,继续使用 root 导入项目,最终结果是只关联了 test2 的issue,但是 test1 账号的 issue 关联的 root 了

情况二:源组的成员包含成员test2和组成员usergroup(包含test1)

结果:使用root账号导入组到目标实例后,无法导入组成员 usergroup,只导入了 test2 成员,然后手动添加组成员usergroup,继续使用 root 导入项目,最终结果还是是只关联了 test2 的issue,但是 test1 账号的 issue 关联的 root 了

情况三:源组的成员包含成员test1,test2,不包含组成员usergroup

结果:使用root账号导入组到目标实例后,正常导入 test1、test2 成员,继续使用 root 导入项目,最终结果 test1 和 test2 的 issue 都正常关联了

情况四:源组的成员包含成员test1,test2,不包含组成员usergroup

结果:使用root账号导入组到目标实例后,正常导入 test1、test2 成员,继续使用 test1 导入项目,最终只有 test1 的 issue 正常关联了,test2 的 issue 关联到 test1 了,原因猜测是导入时需要根据public_email查询账号对应关系,而用户 test1 无此权限

情况五:源组的成员包含成员test1,test2,不包含组成员usergroup

结果:使用root账号导入组到目标实例后,正常导入 test1、test2 成员,继续使用 test2 导入项目,最终只有 test2 的 issue 正常关联了,test1 的 issue 关联到 test2 了,原因同情况四

综上所述:只有情况三能够正常导入组与项目,并且保持 issue 关系不变

2022.5.9测试直接使用新版 Migrate groups 导入测试组下项目如果有单独的成员,也可正常导入,但是还是无法导入组下面的组成员

标签:test1,test2,账号,issue,gitlab,极狐,导入,root
来源: https://www.cnblogs.com/leffss/p/16643682.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有