
倉庫層級結(jié)構(gòu)圖
- 產(chǎn)品(組):因為產(chǎn)品之間的關(guān)聯(lián)性較強,所以后端倉庫不一定是按產(chǎn)品來劃分的,但前端大多數(shù)是按產(chǎn)品來劃分的,所以,針對產(chǎn)品,需要將 前端倉庫 和 后端倉庫分開;
- 后端(組)
- 服務1(倉庫)
- 服務2(倉庫)
- 前端(組)
- 產(chǎn)品1(倉庫)
- 產(chǎn)品2(倉庫)
- 后端(組)
- 項目(組):因為項目之間的關(guān)聯(lián)性較弱,往往有各個的前端倉庫和后端倉庫,所以默認情況可以將前端倉庫 和 后端倉庫 放在一起;如果某個項目只有前端倉庫,沒有對應的后端倉庫,那就不必為項目創(chuàng)建組。
- 項目1(組)
- 前端(倉庫)
- 后端(倉庫)
- 項目2(倉庫):由于沒有后端,所以
項目2直接作為前端倉庫來創(chuàng)建,不必再創(chuàng)建成組
- 項目1(組)
- 前端工具庫(組):用于存放封裝的庫、工具等;因為這些工具大部分是通用的,服務于開發(fā)人員的,所以本組的默認訪問權(quán)限可設為
內(nèi)部 internal,特殊的組或倉庫除外;- 工具庫1(倉庫)
- 工具庫2(倉庫)
- 后端工具庫(組):用于存放封裝的庫、工具等;因為這些工具大部分是通用的,服務于開發(fā)人員的,所以本組的默認訪問權(quán)限可設為
內(nèi)部 internal,特殊的組或倉庫除外;- 工具庫1(倉庫)
- 工具庫2(倉庫)
- 運維(組):存放一些基礎設施的項目,比如:監(jiān)控系統(tǒng)、日志系統(tǒng)、腳本架工具、運維腳本等。
- 工具1(組)
- 前端(倉庫)
- 后端(倉庫)
- 工具2(倉庫):單獨的工具,不分前后端,如:腳本等;
- 工具1(組)

倉庫目錄結(jié)構(gòu)圖
訪問權(quán)限
一般情況,倉庫或組的公開性有以下幾種
- 私有
private:只有倉庫或組的成員才可以訪問; - 內(nèi)部
internal:只有內(nèi)部用戶(登錄的用戶)才能訪問; - 公共
public:公開的,所以有人員(登錄的 和 未登錄的)都可以訪問;
- 所有的頂層組:均為內(nèi)部可見,這樣可以讓大家知道都有哪些分類,以至于在創(chuàng)建項目或組時在地方可以創(chuàng)建;
- 對于頂層組內(nèi)部的組或倉庫:
- 工具庫內(nèi)部的組或倉庫(內(nèi)部 internal):包括前端工具庫 和 后端工具庫
- 因為這些工具大部分是通用的,服務于開發(fā)人員的,所以本組內(nèi)部的組或倉庫的默認訪問權(quán)限可設為 內(nèi)部
internal,特殊的組或倉庫除外; - 如果因些工具庫的源碼不方便暴露,但文檔需要大家都能訪問,可將其文檔單獨存放在一個倉庫中,分別為源碼 和 文檔設置不同的訪問權(quán)限;
- 因為這些工具大部分是通用的,服務于開發(fā)人員的,所以本組內(nèi)部的組或倉庫的默認訪問權(quán)限可設為 內(nèi)部
- 產(chǎn)品、項目內(nèi)部的組或倉庫 (私有 private):由于 產(chǎn)品 和 項目 是公司重要資產(chǎn),并且只需要相關(guān)人員對于源碼了解,所以這些組內(nèi)部的組或倉庫的默認訪問權(quán)限應設置為 私有
private; - 運維內(nèi)部的組或倉庫(私有 private):運維相關(guān)的工具通常只有運維人員來維護,所以此組內(nèi)部的組或倉庫的默認訪問權(quán)限應設為 私有
private
- 工具庫內(nèi)部的組或倉庫(內(nèi)部 internal):包括前端工具庫 和 后端工具庫
一般情況下,倉庫或組的成員角色有以下幾種:
- 管理員:擁有倉庫完整的權(quán)限
- 開發(fā)者:擁有提前、推送、拉取代碼的權(quán)限
- 瀏覽者:只能查看倉庫,不能提交、推送倉庫;
- 對于公司的職員:
- 前端負責人擁有所有前端倉庫的訪問權(quán)限;
- 后端負責人擁有所有后端倉庫的訪問權(quán)限;
- 開發(fā)人員只有其所負責項目的開發(fā)者角色;
- 項目負責人擁有其所負責項目的管理員角色;