博客專欄

EEPW首頁 > 博客 > 極狐GitLab—新一代源代碼管理倉庫

極狐GitLab—新一代源代碼管理倉庫

發(fā)布人:hiraintech 時間:2023-11-29 來源:工程師 發(fā)布文章

產品概述

       極狐GitLab是一款具有軟件開發(fā)全生命周期的DevOps能力的新一代源代碼管理倉庫,無縫集成代碼托管、敏捷管理、CI/CD,從需求管理到應用上線能夠形成數(shù)據的完整串聯(lián)。極狐GitLab具有高可用可擴展的架構特點,可提供萬人規(guī)模的架構行業(yè)實踐參考和專業(yè)服務支持;提供專業(yè)、可靠的代碼資產管理,多舉措保障代碼質量,規(guī)范研發(fā)流程;同時支持跨群組、多項目敏捷管理,可實現(xiàn)精細過程管理,持續(xù)高效交付。

 

產品介紹

    · 定期代碼評審

       在GitLab中團隊成員可以審核任何人的代碼并提供建議,并且在開發(fā)成員提交代碼后限制自身合并,從而避免未經審核驗證的代碼并入主分支。使用GitLab代碼合并請求審查規(guī)則功能,可以設置哪些類型的用戶能夠參與合并請求的批準,同時可設置合并代碼所需的最少批準人數(shù)。通過最低核準人數(shù)設置多人審批,進一步保證代碼質量,更有利于用戶建立流程化的代碼評審機制。

極狐 圖1.jpg

 

極狐 圖2.jpg

    · 多種推送規(guī)則

       GitLab支持多種推送規(guī)則,來保障代碼倉庫安全。用戶通過設置推送規(guī)則,有利于準確地控制推送到倉庫的內容。推送規(guī)則包括禁止無效文件、超大文件推送,以避免倉庫失控,并且可禁止secret文件推送,阻止敏感信息泄漏。同時GitLab可規(guī)范分支命名,避免分支名稱混亂沖突;支持commit簽名驗證,避免變更代碼遭受篡改。

極狐 圖3.jpg

    · 群組wiki

       當使用GitLab群組來管理多個項目時,文檔可能會跨越多個群組,用戶可以通過創(chuàng)建群組wiki,確保所有群組成員都有相應的訪問權限。

 

    · 代碼所有者

    ? 通過代碼所有者功能可定義擁有項目代碼庫特定部分的專業(yè)知識的用戶。定義倉庫中文件和目錄的所有者后,可以方便地:要求所有者批準更改、識別所有者

極狐 圖4.jpg

    ? 將代碼所有者與合并請求批準規(guī)則結合使用,可以幫助用戶構建靈活的批準工作流程:使用代碼所有者來確保質量、使用批準規(guī)則來定義與倉庫中特定文件路徑不對應的專業(yè)領域

 

    · 自定義模板

    ? 自定義群組級模板

        GitLab支持自定義群組級項目模板,用戶通過將項目模板添加至群組,可快速創(chuàng)建項目。具有訪問權限的任何人,都可以將公開項目和內部項目作為新項目的模板。

    ? 自定義實例模板

        在托管系統(tǒng)中,企業(yè)通常需要跨團隊共享自己的模板。使用GitLab實例模板倉庫,可允許管理員選擇一個項目來收集實例范圍內的文件模板。然后,這些模板會在項目保持安全的同時,向所有用戶公開,并可用于整個實例。

 

    · 代碼質量

       代碼質量可用于分析源代碼的質量和復雜性,有助于保持項目代碼簡單、可讀且更易于維護。在代碼中引入書寫規(guī)范和檢查工具,提交代碼時在本地和CI/CD流水線中自動強制檢查,有助于把不良代碼****在合并之前。在將更改提交到默認分支之前,通過在CI/CD 流水線中運行代碼質量報告,方便用戶驗證更改是否會降低代碼的質量。

    ? 內置Code Climate

    ? 支持多種語言,多種質量類型

    ? 支持自定義配置模板

    ? 使用簡單,僅需一行CI/CD配置代碼

    ? 質量報告可在GitLab MR和CI/CD中查看

極狐 圖5.jpg

    · 分支策略

       GitLab Flow提供了一種簡單、透明、高效的Git工作方式,使用極狐GitLab Flow,開發(fā)者可以在不同的環(huán)境中協(xié)作并維護多個版本的軟件。極狐GitLab Flow減少了發(fā)布、標記和合并的開銷(這是其他類型Git工作流程中常見的挑戰(zhàn)),創(chuàng)造了一種更簡單的代碼部署方式。同時保證提交能夠流向下游,確保每一行代碼都在所有環(huán)境中得到測試。

極狐 圖6.jpg

    · 性能測試

       極狐GilLab內置了sitespeed.io、Grafana K6等工具,方便用戶進行配置,并對測試結果進行可視化展示,也可以將其作為代碼合并請求評審依據。

極狐 圖7.jpg

    · 流水線

       極狐GitLab平臺通過卡片、曲線圖和柱狀圖的形式展示流水線的效能數(shù)據,包括成功和失敗的流水線的個數(shù)、流水線成功率和部署頻率以及平均修復時間等。企業(yè)管理者可以通過查看流水線的效能數(shù)據,定位影響因素,給出解決方案,最終以此提升公司的DevOps水平。除此之外極狐Gitlab定義了多種流水線類型,可以適應多種不同場景。如父子流水線、合并列車、多項目流水線:

    ? 父子流水線

        父子流水線用于在同一個代碼庫中上下游流水線的關聯(lián)和觸發(fā)。它支持將一條復雜的流水線解耦為一主多從的多條流水線,并基于特定的規(guī)則構建起運行關系。在降低流水線維護復雜度的同時,支持可選擇性地觸發(fā)子流水線以提升流水線運行效率。

極狐 圖8.jpg

    ? 合并列車

        合并列車是圍繞GitLab合并請求(MR)工作流衍生出來的高級功能,它基于合并結果流水線自動化執(zhí)行多個MR的預合并,將預合并成功的多個MR最終正式合入主干分支,以此時刻保持主干分支是可用狀態(tài),支撐持續(xù)交付最佳實踐,適合大型研發(fā)團隊、多功能并行研發(fā)。

極狐 圖9.jpg

    ? 多項目流水線

        多項目流水線用于多個項目流水線之間的關聯(lián)觸發(fā),它通過構建項目間流水線的上下游關系,支撐跨多個項目或團隊的大型軟件產品交付過程的高度自動化。同時還提供上游和下游兩個視角,建立起可視化的流水線全景,提升跨團隊之間的協(xié)作效率。適合大型跨項目/團隊軟件產品,多模塊架構應用。

極狐 圖10.jpg

應用案例

極狐 圖11.jpg


*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: GitLab

技術專區(qū)

關閉