倉(cāng)庫(kù)層級(jí)結(jié)構(gòu)圖
- 產(chǎn)品(組):因?yàn)楫a(chǎn)品之間的關(guān)聯(lián)性較強(qiáng),所以后端倉(cāng)庫(kù)不一定是按產(chǎn)品來(lái)劃分的,但前端大多數(shù)是按產(chǎn)品來(lái)劃分的,所以,針對(duì)產(chǎn)品,需要將 前端倉(cāng)庫(kù) 和 后端倉(cāng)庫(kù)分開(kāi);
- 后端(組)
- 服務(wù)1(倉(cāng)庫(kù))
- 服務(wù)2(倉(cāng)庫(kù))
- 前端(組)
- 產(chǎn)品1(倉(cāng)庫(kù))
- 產(chǎn)品2(倉(cāng)庫(kù))
- 后端(組)
- 項(xiàng)目(組):因?yàn)轫?xiàng)目之間的關(guān)聯(lián)性較弱,往往有各個(gè)的前端倉(cāng)庫(kù)和后端倉(cāng)庫(kù),所以默認(rèn)情況可以將前端倉(cāng)庫(kù) 和 后端倉(cāng)庫(kù) 放在一起;如果某個(gè)項(xiàng)目只有前端倉(cāng)庫(kù),沒(méi)有對(duì)應(yīng)的后端倉(cāng)庫(kù),那就不必為項(xiàng)目創(chuàng)建組。
- 項(xiàng)目1(組)
- 前端(倉(cāng)庫(kù))
- 后端(倉(cāng)庫(kù))
- 項(xiàng)目2(倉(cāng)庫(kù)):由于沒(méi)有后端,所以
項(xiàng)目2
直接作為前端倉(cāng)庫(kù)來(lái)創(chuàng)建,不必再創(chuàng)建成組
- 項(xiàng)目1(組)
- 前端工具庫(kù)(組):用于存放封裝的庫(kù)、工具等;因?yàn)檫@些工具大部分是通用的,服務(wù)于開(kāi)發(fā)人員的,所以本組的默認(rèn)訪(fǎng)問(wèn)權(quán)限可設(shè)為
內(nèi)部 internal
,特殊的組或倉(cāng)庫(kù)除外;- 工具庫(kù)1(倉(cāng)庫(kù))
- 工具庫(kù)2(倉(cāng)庫(kù))
- 后端工具庫(kù)(組):用于存放封裝的庫(kù)、工具等;因?yàn)檫@些工具大部分是通用的,服務(wù)于開(kāi)發(fā)人員的,所以本組的默認(rèn)訪(fǎng)問(wèn)權(quán)限可設(shè)為
內(nèi)部 internal
,特殊的組或倉(cāng)庫(kù)除外;- 工具庫(kù)1(倉(cāng)庫(kù))
- 工具庫(kù)2(倉(cāng)庫(kù))
- 運(yùn)維(組):存放一些基礎(chǔ)設(shè)施的項(xiàng)目,比如:監(jiān)控系統(tǒng)、日志系統(tǒng)、腳本架工具、運(yùn)維腳本等。
- 工具1(組)
- 前端(倉(cāng)庫(kù))
- 后端(倉(cāng)庫(kù))
- 工具2(倉(cāng)庫(kù)):?jiǎn)为?dú)的工具,不分前后端,如:腳本等;
- 工具1(組)
倉(cāng)庫(kù)目錄結(jié)構(gòu)圖
訪(fǎng)問(wèn)權(quán)限
一般情況,倉(cāng)庫(kù)或組的公開(kāi)性有以下幾種
- 私有
private
:只有倉(cāng)庫(kù)或組的成員才可以訪(fǎng)問(wèn); - 內(nèi)部
internal
:只有內(nèi)部用戶(hù)(登錄的用戶(hù))才能訪(fǎng)問(wèn); - 公共
public
:公開(kāi)的,所以有人員(登錄的 和 未登錄的)都可以訪(fǎng)問(wèn);
- 所有的頂層組:均為內(nèi)部可見(jiàn),這樣可以讓大家知道都有哪些分類(lèi),以至于在創(chuàng)建項(xiàng)目或組時(shí)在地方可以創(chuàng)建;
- 對(duì)于頂層組內(nèi)部的組或倉(cāng)庫(kù):
- 工具庫(kù)內(nèi)部的組或倉(cāng)庫(kù)(內(nèi)部 internal):包括前端工具庫(kù) 和 后端工具庫(kù)
- 因?yàn)檫@些工具大部分是通用的,服務(wù)于開(kāi)發(fā)人員的,所以本組內(nèi)部的組或倉(cāng)庫(kù)的默認(rèn)訪(fǎng)問(wèn)權(quán)限可設(shè)為 內(nèi)部
internal
,特殊的組或倉(cāng)庫(kù)除外; - 如果因些工具庫(kù)的源碼不方便暴露,但文檔需要大家都能訪(fǎng)問(wèn),可將其文檔單獨(dú)存放在一個(gè)倉(cāng)庫(kù)中,分別為源碼 和 文檔設(shè)置不同的訪(fǎng)問(wèn)權(quán)限;
- 因?yàn)檫@些工具大部分是通用的,服務(wù)于開(kāi)發(fā)人員的,所以本組內(nèi)部的組或倉(cāng)庫(kù)的默認(rèn)訪(fǎng)問(wèn)權(quán)限可設(shè)為 內(nèi)部
- 產(chǎn)品、項(xiàng)目?jī)?nèi)部的組或倉(cāng)庫(kù) (私有 private):由于 產(chǎn)品 和 項(xiàng)目 是公司重要資產(chǎn),并且只需要相關(guān)人員對(duì)于源碼了解,所以這些組內(nèi)部的組或倉(cāng)庫(kù)的默認(rèn)訪(fǎng)問(wèn)權(quán)限應(yīng)設(shè)置為 私有
private
; - 運(yùn)維內(nèi)部的組或倉(cāng)庫(kù)(私有 private):運(yùn)維相關(guān)的工具通常只有運(yùn)維人員來(lái)維護(hù),所以此組內(nèi)部的組或倉(cāng)庫(kù)的默認(rèn)訪(fǎng)問(wèn)權(quán)限應(yīng)設(shè)為 私有
private
- 工具庫(kù)內(nèi)部的組或倉(cāng)庫(kù)(內(nèi)部 internal):包括前端工具庫(kù) 和 后端工具庫(kù)
一般情況下,倉(cāng)庫(kù)或組的成員角色有以下幾種:
- 管理員:擁有倉(cāng)庫(kù)完整的權(quán)限
- 開(kāi)發(fā)者:擁有提前、推送、拉取代碼的權(quán)限
- 瀏覽者:只能查看倉(cāng)庫(kù),不能提交、推送倉(cāng)庫(kù);
- 對(duì)于公司的職員:
- 前端負(fù)責(zé)人擁有所有前端倉(cāng)庫(kù)的訪(fǎng)問(wèn)權(quán)限;
- 后端負(fù)責(zé)人擁有所有后端倉(cāng)庫(kù)的訪(fǎng)問(wèn)權(quán)限;
- 開(kāi)發(fā)人員只有其所負(fù)責(zé)項(xiàng)目的開(kāi)發(fā)者角色;
- 項(xiàng)目負(fù)責(zé)人擁有其所負(fù)責(zé)項(xiàng)目的管理員角色;