nexus中的父级和子级存储库

时间:2015-12-21 14:21:07

标签: maven nexus sonatype

我们使用sonatype nexus。我们希望拥有一个公共存储库,它将包含组织中的所有工件以及组织中每个项目的子存储库。我们想要实现的目标是将所有工件物理地放置在公共存储库中,并且从项目存储库到公共存储库的一些(我不知道如何纠正从nexus方面调用它),因此项目存储库将不具有物理位置的工件只是链接到他们。 为什么我们需要这个?只是根据项目单独使用工件,但在每个项目存储库中没有克隆工件。

我已经分析了代理,虚拟类型的repos并经历了nexus文档。这在nexus中实际可行吗?

2 个答案:

答案 0 :(得分:1)

正如本文所解释的那样,设计存储库布局的方法实际上只有两种:每个项目/团队一个或整个组织的单个存储库,但按组ID分区:https://support.sonatype.com/hc/en-us/articles/213465778-What-approach-should-I-use-to-restrict-access-to-artifacts-in-Nexus-

  1. 每个项目使用一个repo,然后对它们进行分组,这样它们就可以从一个组URL中引用。访问控制可以在每个repo级别完成,因此只有该项目才能上传到此repo。
  2. 为整个组织使用一个单独的repo,但按组ID进行分区,例如它看起来像这样,org.yourcompany.projectname.artifactid。然后,您可以定义存储库目标 .projectname。以访问此分区的控制权。

答案 1 :(得分:0)

我认为你实际上想要一个集团,而不是一个存储库。 repo表示磁盘上的单个根目录,或者是http / s可在其他地方访问的单个repo的代理。这些东西不可嵌套。

但是,组拥有许多存储库。您可以为每个项目团队创建一个组,其中只包含他们需要的repos,每个组都可以按照您想要的任何条件分开。

例如,你可以拥有一个包含sql数据库的java DAO libs的repo,以及另一个包含用于no-sql数据库的java DAO libs的repo,另一个包含SOAP apis的repo,以及另一个包含REST api的repo。然后,您可以创建两个组 - 例如,“现代”和“老派”,并为每个组分配适当的回购。您可以将“old-school”组访问“严肃的”Java开发者,并将“现代”访问到您的Android脚本小子。

我并不是说这是一个特别好的故障 - 这只是一个例子。

在我工作的一个地方,我们有国际分离的团队,每个团队都可以访问自己的libs和central,所以我们每个国家都有一个团队。在另一个地方,我们有移动设备和服务器开发,每个都需要自己的组。