【问题标题】:Maven - Archiva - Setting up Archiva for different geographic locationsMaven - Archiva - 为不同的地理位置设置 Archiva
【发布时间】:2010-11-26 01:01:59
【问题描述】:

我们的开发人员在不同的地理位置工作,我们希望为每个地理位置设置 Archiva(只是为了确保获得工件的往返行程更少)。

是否有可能每当从位于 G1 位置的 Archiva 上传/删除工件时,相同的更改就会被推送到位于 G2G3 等位置的 Archiva 托管存储库?

【问题讨论】:

  • 有人对此有想法吗?

标签: java maven-2 repository archiva


【解决方案1】:

这并不完全符合您的要求,但对系统用户的净效果是相同的,因此值得研究。

您可以使用proxy connectors 将Archiva 设置为代理远程存储库。 使用这种机制,您可以将 G2 配置为具有 G1 的代理,这意味着当任何工件部署到 G1 时,它将通过代理机制在 G2 上可用。

来自文档:

代理连接器用于将托管存储库(存储在 Archiva 机器上)链接到远程存储库(通过 URL 访问)。这意味着当托管存储库接收到请求时,将咨询连接器以决定它是否应该从远程存储库请求资源(并可能在本地缓存结果以供将来的请求使用)。

每个托管存储库可以代理多个远程存储库,以允许通过 Archiva 实例内的单个接口对存储库进行分组。例如,通常通过 Archiva 的单个存储库代理所有远程版本,以及所有远程快照存储库的单个快照存储库。

基本代理连接器配置只是将远程存储库链接到托管存储库(使用可选的网络代理通过防火墙进行访问)。但是,代理连接器可以专门管理不同类型工件和路径的行为,从而更灵活地控制对远程存储库的访问。


如果代理连接器不适合您,您可以研究替代复制方法。我会重新考虑,因为任何本土解决方案都可能在用户修改存储库内容时引入问题。

  • 只要您只允许部署到其中一个节点,您就可以使用 rsync 或 robocopy 在节点之间复制存储位置。
  • 您可以编写一个custom plugin 来侦听get 和delete 事件并向另一个节点触发相应的事件。

【讨论】:

  • 我很欣赏 Rich.. 但我正在寻找的是.. 我可以从一个存储库上传/删除工件,而其他的只是反映相同.. 这可能吗?
  • +1 以获得快速准确的答案(一如既往地在 Maven 上,Rich!)。我觉得 peakit 现在可以应用您的答案来获得真正的解决方案。我也会记住你的提议,以备不时之需;-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-19
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多