倉(cāng)庫(kù)層級(jí)結(jié)構(gòu)規(guī)范

倉(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)建成組
  • 前端工具庫(kù)(組):用于存放封裝的庫(kù)、工具等;因?yàn)檫@些工具大部分是通用的,服務(wù)于開(kāi)發(fā)人員的,所以本組的默認(rèn)訪問(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)訪問(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ú)的工具,不分前后端,如:腳本等;
倉(cāng)庫(kù)目錄結(jié)構(gòu)圖

訪問(wèn)權(quán)限

一般情況,倉(cāng)庫(kù)或組的公開(kāi)性有以下幾種

  • 私有 private:只有倉(cāng)庫(kù)或組的成員才可以訪問(wèn);
  • 內(nèi)部 internal:只有內(nèi)部用戶(hù)(登錄的用戶(hù))才能訪問(wèn);
  • 公共 public:公開(kāi)的,所以有人員(登錄的 和 未登錄的)都可以訪問(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)訪問(wèn)權(quán)限可設(shè)為 內(nèi)部 internal,特殊的組或倉(cāng)庫(kù)除外;
      • 如果因些工具庫(kù)的源碼不方便暴露,但文檔需要大家都能訪問(wèn),可將其文檔單獨(dú)存放在一個(gè)倉(cāng)庫(kù)中,分別為源碼 和 文檔設(shè)置不同的訪問(wèn)權(quán)限;
    • 產(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)訪問(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)訪問(wèn)權(quán)限應(yīng)設(shè)為 私有 private

一般情況下,倉(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ù)的訪問(wèn)權(quán)限;
    • 后端負(fù)責(zé)人擁有所有后端倉(cāng)庫(kù)的訪問(wèn)權(quán)限;
    • 開(kāi)發(fā)人員只有其所負(fù)責(zé)項(xiàng)目的開(kāi)發(fā)者角色;
    • 項(xiàng)目負(fù)責(zé)人擁有其所負(fù)責(zé)項(xiàng)目的管理員角色;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容