微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将 Nexus 存储库复制到 GitLab 注册表

如何解决将 Nexus 存储库复制到 GitLab 注册表

初始状态:

  • 一个包含多个项目的 GitLab 实例;
  • GitLab 项目的管道依赖于许多二进制文件包括 Docker 镜像
  • 所有这些二进制文件和图像都存在于 Nexus (NXRM3) 的本地 OSS 实例中,以各种格式(docker、maven、raw 等)的托管或组存储库或由此 Nexus 中的存储库代理的远程存储库。

目标状态:

  • GitLab 和 Nexus 的内容以某种方式传输到 GitLab 中,允许管道在微不足道的修改后运行,例如将 URL 从 Nexus 更改为 GitLab 二进制注册表。

挑战:

  • 有什么自动方法比使用 Nexus REST API“遍历”Nexus 的自定义应用程序/脚本更有效(更少的编码、测试等),在 GitLab 中创建相应的注册表(使用 GitLab API ),从 Nexus 存储库中提取所有工件,然后将它们推送到创建的 GitLab 注册表中?

注意:

  • 将 Nexus 存储库类型正确映射到 GitLab 是一个单独的挑战。
  • 在 GitLab 中正确复制 Nexus 存储库分类法是一项单独的挑战。
  • 将 Nexus 存储库权限正确转移到 GitLab 是一项单独的挑战。

解决方法

我建议创建一个脚本来执行以下操作:

  1. 列出存储在上述 Nexus 实例的 Docker 存储库中的 Docker 映像的脚本。

  2. 从上述 Nexus Docker 格式存储库中提取 Docker 映像并将其推送到本地主机上的 Docker 注册表的脚本。

  3. 从本地 Docker 注册表中提取上述 Docker 映像并将其推送到上述 GitLab 项目 Docker 注册表的脚本。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。