3

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

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

4

1 回答 1

2

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

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

从文档中:

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

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

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


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

  • 只要您只允许部署到其中一个节点,您就可以使用 rsync 或 robocopy 在节点之间复制存储位置。
  • 您可以编写一个自定义插件来侦听 get 和 delete 事件并将相应的事件触发到另一个节点。
于 2009-09-06T17:34:27.767 回答