2009-09-06 111 views
3

我们有开发人员在不同的地理位置工作,我们希望为每个地理位置设置Archiva(为了确保获取工件的往返次数少)。Maven - Archiva - 为不同地理位置设置Archiva

是否有可能,每当一个工件上载/从Archiva在位置G1删除,则同样的变化被推向Archiva在位置G2G3管理信息库等?

+0

任何对此有想法的人? – peakit

回答

2

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

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

从文档:

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

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

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


如果代理连接器将不会为你工作,你可以看看其他复制方法。我会重新考虑一下,因为任何自行开发的解决方案都可能会在用户修改存储库内容时引入问题。

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

我欣赏里奇.. 但我在找的是..我可以上传/删除工件从一个存储库和其他只是反映相同.. 这可能吗? – peakit

+0

+1,用于快速和准确的答案(一如Maven,Rich!一样)。我觉得peakit现在可以应用你的答案来获得真正的解决方案。我也会记住你的建议,因为当我需要时;-) – KLE