如何自动(半)同步 Nexus 存储库之间的 Maven 工件?

How to synchronize Maven artefacts between nexus repositories (semi-)automatically?

我们有一个 Nexus 存储库,用于我们内部的 Java EE 应用程序的 Maven 工件。我们的开发人员在进行本地构建时连接到此存储库。

然而,对于一个完整的构建,我们需要来自位于客户的 Nexus 存储库的人工制品,该存储库只能通过手动 VPN 连接获得——并且在连接时,我们没有连接到我们自己的存储库。

现在,什么是在连接时(至少半自动)自动从客户站点获取所有新工件并将它们放入我们自己的存储库的好方法?

到目前为止,我的想法是 运行 在机器上本地建立一个 Nexus 进行 VPN 连接,并让它与我们的和他们的同步 - 这听起来合理吗?或者有谁有更好的主意吗? 如何通过 Nexus 网络前端编写脚本或配置它,以便每次我们连接到一个或另一个网络时它都可以与两侧之一同步?

您可以使用 rsync。或其他某种 "sync" 软件。但它需要通过 SSH 或 FTP 访问文件系统。您也可以插入您的 vpn。从远程连接下载所有需要的工件。并通过 UI 将它们手动上传到您自己的 nexus。其他解决方案(在我的评论中说明)是用您自己的代理代理远程连接,并且仅在需要时启用 VPN。


我会加强答案,因为它指向正确的方向,以适合我的问题:

一个 Nexus 代理另一个是个好主意,只是它需要一个本地 Nexus 到集线器机器上的 运行 - 这样并且在 settings.xml 中使用正确的镜像设置,a Nexus 代理链可以通过 VPN 线路。唯一的事情是(幸运的是,集线器机器也是以前的开发人员笔记本电脑)必须在集线器机器上完成构建,以便将 Maven 人工制品拉到集线器的 Nexus,然后从那里它可以去更进一步。