Maven Repo代理 - 没有缓存功能

时间:2013-10-30 09:59:22

标签: maven nexus artifactory archiva

另一个部门的网络上有一个maven存储库。这包括外部第三方工件(java libs),以及他们自己的工件(他们自己的软件)。

我希望能够访问他们的存储库,因为我无法访问第三方库的maven central(安全策略)。

他们的服务器位于防火墙后面,他们不会授予我访问所需端口的权限 - 因为他们担心我可以访问他们的工件。

因此,我想建议他们为我设置一个“Maven Proxy”。这将只有一个上游仓库(他们的完整仓库),但需要过滤工件,因此我无法从树的“com.mycompany.theirdepartment”部分访问任何内容。

这个代理可能与原始仓库位于同一台服务器上 - 即在他们的资源上,而不是我的资源。如果我们推出一个全新的nexus,archiva或artifactory实例,这很简单。

然后我可以请求防火墙更改,以便我可以访问此代理,这只授予我访问树的非敏感部分的权限。

但是,上述应用程序的标准推出将涉及他们自己的缓存。即他们会缓存他们从上游“完整”仓库获得的数据。这可能会导致所有工件在服务器上存储两次 - 在他们的服务器上....他们不会满意!

任何人都可以建议一个纯粹作为代理的工具(或其配置),它不会缓存它从上游带来的依赖关系吗?

我意识到这是一个可怕的要求,但企业政治正在抛开常识!

一个明显的选择是用户用户/凭证。他们目前正在使用archiva,我找不到任何关于能够轻松/可靠地设置它的文档。要求他们转移到Nexus并正确设置它比代理更具侵略性 - 如果没有我可以使用的工具,则必须是最后的手段......

1 个答案:

答案 0 :(得分:0)

答案数量:

  1. 如果您愿意访问的存储库是Artifactory,则configure the needed permissions by using include/exclude patterns非常容易(即排除com/mycompany/theirdepartment/**/*.*
  2. 如果他们的存储库不是一个合适的二进制存储库,那么在没有存储工件的情况下将Artifactory放在前面的想法是很好的。它是通过触发Artifactory中的一个复选框来实现的:Do Not Store Artifacts Locally