2015-12-21 74 views
0

我们使用sonatype nexus。我们希望有一个共同的存储库,用于存放组织中的所有工件以及组织中每个项目的子存储库。我们希望实现的目标是将所有工件物理地放置在公共存储库中,并将一些(我不知道如何修正它称为nexus)从项目存储库链接到公共存储库,因此项目存储库不会有物理位置的工件只是链接到他们。 为什么我们需要这个?只是按照每个项目使用分离工件,而不是在每个项目回购中都有克隆的工件。nexus中的父级和子级库

我分析了代理,虚拟类型的回购,并通过nexus文档。这在nexus中确实可行吗?

+0

不存在父/子存储库的概念......此外,为什么你的工件中有groupId/artifactId/version,它们将事物彼此分开......为什么每个项目都有一个存储库? – khmarbaise

回答

0

我想你实际上想要一个组,而不是一个存储库。回购代表磁盘上的单个根目录,或者是http/s可访问的单个回购代理。这些东西不可嵌套。

但是,组拥有许多存储库。您可以为每个项目组创建一个组,只包含他们需要的回购,每个回收可以按照您想要的任何标准分开。

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

我并不是说这是一个特别好的细分 - 它只是一个例子。

在我工作的一个地方,我们有国际分离的团队,每个团队都有自己的库和中心,所以我们每个国家都有一个团队。在另一个地方,我们有移动开发和服务器开发,每个都需要他们自己的组。

1

正如这篇文章解释,真的只有两个方法来设计的仓库布局:每个项目/团队或单回购一个为整个组织,而是由组ID分配:每https://support.sonatype.com/hc/en-us/articles/213465778-What-approach-should-I-use-to-restrict-access-to-artifacts-in-Nexus-

  1. 使用一个回购项目,然后对它们进行分组,以便它们都可以从单个组的URL中引用。访问控制可以在每个回购级别完成,所以只有这个项目可以上传到这个回购。
  2. 对整个组织使用一个回购单元,但是通过组ID分配,例如,它会看起来像这样,org.yourcompany.projectname.artifactid。然后,您可以定义存储库目标.projectname。访问该分区的控制权。
相关问题