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

產品概述

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

 

產品介紹

  • 定期代碼評審

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

  • 多種推送規則

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

  • 羣組wiki

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

  • 代碼所有者

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

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

  • 自定義模板

          自定義羣組級模板

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

          自定義實例模板

            在託管系統中,企業通常需要跨團隊共享自己的模板。使用GitLab實例模板倉庫,可允許管理員選擇一個項目來收集實例範圍內的文件模板。然後,這些模板會在項目保持安全的同時,向所有用戶公開,並可用於整個實例。

  • 代碼質量

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

          內置Code Climate

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

          支持自定義配置模板

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

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

  • 分支策略

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

  • 性能測試

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

  • 流水線

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

          父子流水線

            父子流水線用於在同一個代碼庫中上下游流水線的關聯和觸發。它支持將一條複雜的流水線解耦爲一主多從的多條流水線,並基於特定的規則構建起運行關係。在降低流水線維護複雜度的同時,支持可選擇性地觸發子流水線以提升流水線運行效率。

          合併列車

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

          多項目流水線

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

應用案例

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章