2015-12-21 73 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。訪問該分區的控制權。
相關問題