初始状态:
- 一个有许多项目的GitLab实例;
- GitLab项目具有依赖于许多二进制文件(包括Docker镜像)的流水线;
- 所有这些二进制文件和镜像都存在于本地OSS Nexus (NXRM3)实例的托管或组仓库中,有各种格式(docker、maven、原始等),或者是由Nexus中的仓库代理的远程仓库。
目标状态:
- 将GitLab和Nexus的内容以一种方式转移到GitLab中,使得流水线在进行简单修改,如将URL从Nexus更改为GitLab二进制注册表后,可以运行。
挑战:
- 与使用Nexus REST API“遍历”Nexus、使用GitLab API创建相应的注册表、将所有工件从Nexus repo拉取并推送到已创建的GitLab注册表的自定义应用程序/脚本相比,哪种自动化方法更有效(代码编写、测试等方面)?
注意:
- 正确映射Nexus repo类型到GitLab是一个单独的挑战。
- 正确在GitLab中重现Nexus repo分类法是一个单独的挑战。
- 正确将Nexus repo权限传输到GitLab是一个单独的挑战。