1

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

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

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

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

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

然后我可以要求更改防火墙,这样我就可以访问这个代理,它只允许我访问树的非敏感部分。

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

任何人都可以建议一个纯粹充当代理的工具(或其配置),它不会缓存它从上游提取的依赖项吗?

我意识到这是一个可怕的要求,但公司政治正在将常识抛到脑后!

一种明显的替代方法是用户用户/凭据。他们目前正在使用档案,我找不到任何关于能够轻松/可靠地进行设置的文档。要求他们转移到 Nexus 并正确设置它比代理更具侵入性 - 如果没有我可以按照上述使用的工具,则必须是最后的手段......

4

2 回答 2

0

这里的答案数量:

  1. 如果您愿意访问的存储库是 Artifactory,那么使用包含/排除模式(即排除com/mycompany/theirdepartment/**/*.*)很容易配置所需的权限
  2. 如果他们的存储库不是正确的二进制存储库,那么您将 Artifactory 放在前面而不存储工件的想法是一个好主意。它通过触发 Artifactory 中的一个复选框来实现:Do Not Store Artifacts Locally
于 2013-10-30T10:42:03.537 回答
0

对于 Apache Archiva 看看这里: http: //archiva.apache.org/docs/1.4-M4/adminguide/proxy-connector-rules.html

或者

http://archiva.apache.org/docs/1.4-M4/adminguide/proxy-connectors.html (白/黑名单)

于 2013-10-31T05:26:19.570 回答