極狐GitLab—新一代源代碼管理倉庫
產(chǎn)品概述
極狐GitLab是一款具有軟件開發(fā)全生命周期的DevOps能力的新一代源代碼管理倉庫,無縫集成代碼托管、敏捷管理、CI/CD,從需求管理到應(yīng)用上線能夠形成數(shù)據(jù)的完整串聯(lián)。極狐GitLab具有高可用可擴(kuò)展的架構(gòu)特點(diǎn),可提供萬人規(guī)模的架構(gòu)行業(yè)實(shí)踐參考和專業(yè)服務(wù)支持;提供專業(yè)、可靠的代碼資產(chǎn)管理,多舉措保障代碼質(zhì)量,規(guī)范研發(fā)流程;同時(shí)支持跨群組、多項(xiàng)目敏捷管理,可實(shí)現(xiàn)精細(xì)過程管理,持續(xù)高效交付。
產(chǎn)品介紹
· 定期代碼評(píng)審
在GitLab中團(tuán)隊(duì)成員可以審核任何人的代碼并提供建議,并且在開發(fā)成員提交代碼后限制自身合并,從而避免未經(jīng)審核驗(yàn)證的代碼并入主分支。使用GitLab代碼合并請(qǐng)求審查規(guī)則功能,可以設(shè)置哪些類型的用戶能夠參與合并請(qǐng)求的批準(zhǔn),同時(shí)可設(shè)置合并代碼所需的最少批準(zhǔn)人數(shù)。通過最低核準(zhǔn)人數(shù)設(shè)置多人審批,進(jìn)一步保證代碼質(zhì)量,更有利于用戶建立流程化的代碼評(píng)審機(jī)制。
· 多種推送規(guī)則
GitLab支持多種推送規(guī)則,來保障代碼倉庫安全。用戶通過設(shè)置推送規(guī)則,有利于準(zhǔn)確地控制推送到倉庫的內(nèi)容。推送規(guī)則包括禁止無效文件、超大文件推送,以避免倉庫失控,并且可禁止secret文件推送,阻止敏感信息泄漏。同時(shí)GitLab可規(guī)范分支命名,避免分支名稱混亂沖突;支持commit簽名驗(yàn)證,避免變更代碼遭受篡改。
· 群組wiki
當(dāng)使用GitLab群組來管理多個(gè)項(xiàng)目時(shí),文檔可能會(huì)跨越多個(gè)群組,用戶可以通過創(chuàng)建群組wiki,確保所有群組成員都有相應(yīng)的訪問權(quán)限。
· 代碼所有者
? 通過代碼所有者功能可定義擁有項(xiàng)目代碼庫特定部分的專業(yè)知識(shí)的用戶。定義倉庫中文件和目錄的所有者后,可以方便地:要求所有者批準(zhǔn)更改、識(shí)別所有者
? 將代碼所有者與合并請(qǐng)求批準(zhǔn)規(guī)則結(jié)合使用,可以幫助用戶構(gòu)建靈活的批準(zhǔn)工作流程:使用代碼所有者來確保質(zhì)量、使用批準(zhǔn)規(guī)則來定義與倉庫中特定文件路徑不對(duì)應(yīng)的專業(yè)領(lǐng)域
· 自定義模板
? 自定義群組級(jí)模板
GitLab支持自定義群組級(jí)項(xiàng)目模板,用戶通過將項(xiàng)目模板添加至群組,可快速創(chuàng)建項(xiàng)目。具有訪問權(quán)限的任何人,都可以將公開項(xiàng)目和內(nèi)部項(xiàng)目作為新項(xiàng)目的模板。
? 自定義實(shí)例模板
在托管系統(tǒng)中,企業(yè)通常需要跨團(tuán)隊(duì)共享自己的模板。使用GitLab實(shí)例模板倉庫,可允許管理員選擇一個(gè)項(xiàng)目來收集實(shí)例范圍內(nèi)的文件模板。然后,這些模板會(huì)在項(xiàng)目保持安全的同時(shí),向所有用戶公開,并可用于整個(gè)實(shí)例。
· 代碼質(zhì)量
代碼質(zhì)量可用于分析源代碼的質(zhì)量和復(fù)雜性,有助于保持項(xiàng)目代碼簡單、可讀且更易于維護(hù)。在代碼中引入書寫規(guī)范和檢查工具,提交代碼時(shí)在本地和CI/CD流水線中自動(dòng)強(qiáng)制檢查,有助于把不良代碼****在合并之前。在將更改提交到默認(rèn)分支之前,通過在CI/CD 流水線中運(yùn)行代碼質(zhì)量報(bào)告,方便用戶驗(yàn)證更改是否會(huì)降低代碼的質(zhì)量。
? 內(nèi)置Code Climate
? 支持多種語言,多種質(zhì)量類型
? 支持自定義配置模板
? 使用簡單,僅需一行CI/CD配置代碼
? 質(zhì)量報(bào)告可在GitLab MR和CI/CD中查看
· 分支策略
GitLab Flow提供了一種簡單、透明、高效的Git工作方式,使用極狐GitLab Flow,開發(fā)者可以在不同的環(huán)境中協(xié)作并維護(hù)多個(gè)版本的軟件。極狐GitLab Flow減少了發(fā)布、標(biāo)記和合并的開銷(這是其他類型Git工作流程中常見的挑戰(zhàn)),創(chuàng)造了一種更簡單的代碼部署方式。同時(shí)保證提交能夠流向下游,確保每一行代碼都在所有環(huán)境中得到測(cè)試。
· 性能測(cè)試
極狐GilLab內(nèi)置了sitespeed.io、Grafana K6等工具,方便用戶進(jìn)行配置,并對(duì)測(cè)試結(jié)果進(jìn)行可視化展示,也可以將其作為代碼合并請(qǐng)求評(píng)審依據(jù)。
· 流水線
極狐GitLab平臺(tái)通過卡片、曲線圖和柱狀圖的形式展示流水線的效能數(shù)據(jù),包括成功和失敗的流水線的個(gè)數(shù)、流水線成功率和部署頻率以及平均修復(fù)時(shí)間等。企業(yè)管理者可以通過查看流水線的效能數(shù)據(jù),定位影響因素,給出解決方案,最終以此提升公司的DevOps水平。除此之外極狐Gitlab定義了多種流水線類型,可以適應(yīng)多種不同場(chǎng)景。如父子流水線、合并列車、多項(xiàng)目流水線:
? 父子流水線
父子流水線用于在同一個(gè)代碼庫中上下游流水線的關(guān)聯(lián)和觸發(fā)。它支持將一條復(fù)雜的流水線解耦為一主多從的多條流水線,并基于特定的規(guī)則構(gòu)建起運(yùn)行關(guān)系。在降低流水線維護(hù)復(fù)雜度的同時(shí),支持可選擇性地觸發(fā)子流水線以提升流水線運(yùn)行效率。
? 合并列車
合并列車是圍繞GitLab合并請(qǐng)求(MR)工作流衍生出來的高級(jí)功能,它基于合并結(jié)果流水線自動(dòng)化執(zhí)行多個(gè)MR的預(yù)合并,將預(yù)合并成功的多個(gè)MR最終正式合入主干分支,以此時(shí)刻保持主干分支是可用狀態(tài),支撐持續(xù)交付最佳實(shí)踐,適合大型研發(fā)團(tuán)隊(duì)、多功能并行研發(fā)。
? 多項(xiàng)目流水線
多項(xiàng)目流水線用于多個(gè)項(xiàng)目流水線之間的關(guān)聯(lián)觸發(fā),它通過構(gòu)建項(xiàng)目間流水線的上下游關(guān)系,支撐跨多個(gè)項(xiàng)目或團(tuán)隊(duì)的大型軟件產(chǎn)品交付過程的高度自動(dòng)化。同時(shí)還提供上游和下游兩個(gè)視角,建立起可視化的流水線全景,提升跨團(tuán)隊(duì)之間的協(xié)作效率。適合大型跨項(xiàng)目/團(tuán)隊(duì)軟件產(chǎn)品,多模塊架構(gòu)應(yīng)用。
應(yīng)用案例
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。