華為云代碼托管CodeArts Repo:保護(hù)企業(yè)核心代碼資產(chǎn)安全
HDC期間可參與華為云新人注冊(cè)抽獎(jiǎng)活動(dòng),活動(dòng)鏈接在文末,無線鼠標(biāo),定制帆布包等

源代碼是企業(yè)最寶貴的資產(chǎn)之一,一旦保存源代碼的系統(tǒng)出現(xiàn)安全性或穩(wěn)定性問題,將給企業(yè)商業(yè)及信譽(yù)帶來不可估量的損失。隨著軟件規(guī)模的不斷擴(kuò)大,生成軟件的源代碼規(guī)模也在急劇上升,單個(gè)軟件系統(tǒng)規(guī)模已達(dá)數(shù)億行、開發(fā)人員達(dá)數(shù)千人——如何管理好龐大的源代碼,并讓企業(yè)員工持續(xù)穩(wěn)定的開展軟件開發(fā)活動(dòng)將成為一個(gè)重大的挑戰(zhàn)。
華為云代碼托管服務(wù)CodeArts Repo是一款全棧自研、基于Git的云端代碼托管服務(wù),旨在保護(hù)企業(yè)核心代碼資產(chǎn)安全,提升企業(yè)研發(fā)質(zhì)量和效率。
點(diǎn)擊>>進(jìn)入產(chǎn)品官網(wǎng)
代碼管理工具是軟件開發(fā)的基礎(chǔ)
不斷提升研發(fā)質(zhì)量和效率,縮短TTM(Time to Market)是軟件企業(yè)商業(yè)成功的關(guān)鍵。如今,一款軟件通常由多人協(xié)作開發(fā)而成,代碼管理工具不僅是研發(fā)資產(chǎn)的重要載體,同時(shí)也支撐了版本化配置管理、代碼開發(fā)的工作流等活動(dòng),通過與CI/CD工具服務(wù)集成,能夠有效提升團(tuán)隊(duì)協(xié)作效率和自動(dòng)化交付效率。
代碼管理工具在開發(fā)活動(dòng)中發(fā)揮著關(guān)鍵作用
為了讓代碼資產(chǎn)更加安全和穩(wěn)定,一款現(xiàn)代化代碼管理工具應(yīng)當(dāng)具備如下主要能力:
版本控制:包含代碼存儲(chǔ)功能,支持代碼上傳和下載,并能夠簡單、準(zhǔn)確地記錄和重現(xiàn)代碼的任何一個(gè)歷史版本。
協(xié)同開發(fā):支持多人協(xié)同開發(fā),如不同開發(fā)人員可同時(shí)在同一個(gè)軟件模塊上工作,同時(shí)對(duì)同一代碼部分做不同的修改,即使是跨地域分布的開發(fā)團(tuán)隊(duì)也能互不干擾。
質(zhì)量管控:提供在線閱讀代碼和代碼檢視功能,支持自動(dòng)化持續(xù)集成與持續(xù)交付工具(CI/CD),對(duì)代碼進(jìn)行質(zhì)量檢查,確保符合質(zhì)量的代碼才能入庫。
穩(wěn)定可靠:支持多人并發(fā)在線作業(yè),并發(fā)上傳和下載代碼,保持長期穩(wěn)定,以保障企業(yè)研發(fā)活動(dòng)不中斷。
安全防護(hù):能夠保護(hù)企業(yè)的代碼核心資產(chǎn)安全,抵御黑客盜取代碼、對(duì)源代碼投毒、惡意代碼注入等攻擊。
?
CodeArts Repo6大特征保障代碼核心資產(chǎn)安全
為了支撐業(yè)務(wù)的高速發(fā)展,華為公司內(nèi)部代碼管理工具也在不斷演進(jìn)。從最開始滿足基本配置管理需求,到支撐公司內(nèi)源協(xié)同開發(fā),再到支撐公司可信變革、達(dá)成CleanCode目標(biāo),華為的代碼管理工具經(jīng)歷了“商用+開源”,到“邊買邊造”,再到“自給自足”的三個(gè)階段。
如今,華為云CodeArts Repo管理并保護(hù)著華為1100億行代碼,支撐15萬人開發(fā)作業(yè),日均1億次下載量、1PB傳輸流量、3億次API調(diào)用,一套系統(tǒng)支撐了華為嵌入式、云、終端、車等各類型產(chǎn)品代碼管理和協(xié)同開發(fā)。
?
CodeArts Repo具有以下 6大特性。
特性一:自研內(nèi)核,確保代碼安全,穩(wěn)定高效開發(fā)。
?
針對(duì)開源代碼管理工具漏洞多、單體架構(gòu)、存在連續(xù)性風(fēng)險(xiǎn),和無法滿足華為大規(guī)模、多場景開發(fā)作業(yè)流等問題,華為云CodeArts Repo通過自研內(nèi)核,基于零信任思想進(jìn)行設(shè)計(jì)和安全加固,從黑客視角建立攻擊路徑模型,落地6大類100+小類安全措施,從接入層、業(yè)務(wù)層,存儲(chǔ)層到基礎(chǔ)設(shè)施層全面構(gòu)筑安全防護(hù)能力,確保代碼不丟,系統(tǒng)不破,代碼資產(chǎn)可恢復(fù)。
此外,華為成立了“藍(lán)軍”部門,每年例行專門針對(duì)代碼托管工具進(jìn)行模擬攻擊測試,以攻促防,不斷提升CodeArts Repo的安全能力。
為應(yīng)對(duì)公司巨量業(yè)務(wù)增長,CodeArts Repo在架構(gòu)上充分利用云原生技術(shù)優(yōu)勢,基于云化基礎(chǔ)設(shè)施,實(shí)現(xiàn)容災(zāi)、備份、流控、服務(wù)降等,保障了業(yè)務(wù)不中斷和數(shù)據(jù)不丟失,多維度提升可靠性。
特性二:覆蓋基于Git的主要工作流,滿足多種開發(fā)場景
華為云CodeArts Repo支持Git Flow、Gitlab Flow、Github Flow等所有工作流。華為將以前使用Gitlab、Github、Gerrit部署的100多套系統(tǒng)歸一到CodeArts Repo一套系統(tǒng),期間經(jīng)歷了超過10000條來自華為各產(chǎn)品線的需求錘煉,不斷完善和優(yōu)化,既能滿足強(qiáng)流程規(guī)范的大規(guī)模產(chǎn)品協(xié)同開發(fā),也適用于采用DevOps模式、快速上線的產(chǎn)品開發(fā)。
特性三:多形式代碼檢視活動(dòng),提升代碼質(zhì)量,傳遞開發(fā)經(jīng)驗(yàn)
華為云CodeArts Repo提供分散式和集中式的代碼檢視能力,支持團(tuán)隊(duì)隨時(shí)開展代碼檢視活動(dòng)。
以合并請(qǐng)求為例,開發(fā)人員發(fā)起代碼合并請(qǐng)求后,系統(tǒng)可自動(dòng)分配給不同檢視人員,檢視人員利用碎片化時(shí)間檢視代碼,配合門禁系統(tǒng)保證檢視意見關(guān)閉才能合入該合并請(qǐng)求。團(tuán)隊(duì)成員也可以集中到一起,直接在瀏覽器中打開代碼倉文件,進(jìn)行在線檢視,提出檢視意見后使跟蹤流程閉環(huán)檢視意見。
另外,CodeArts Repo提供靈活的檢視意見分類功能,既集成華為優(yōu)秀的實(shí)踐,使用此功能可以有效規(guī)范團(tuán)隊(duì)檢視活動(dòng),同時(shí)沉淀團(tuán)隊(duì)經(jīng)驗(yàn)和知識(shí),將知識(shí)在公司、產(chǎn)品、項(xiàng)目等不同范圍內(nèi)傳遞。
特性四:質(zhì)量門禁,確保每一行入庫代碼Clean
在軟件生命周期中,缺陷發(fā)現(xiàn)越早、修復(fù)越早,缺陷的影響和修復(fù)代價(jià)就越小,數(shù)據(jù)顯示,產(chǎn)品發(fā)布后每個(gè)缺陷的平均修復(fù)成本是驗(yàn)證階段的6倍以上。因此為了避免有缺陷的代碼合入主干,靈活有效的門禁控制必不可少。
華為云CodeArts Repo提供“人工審核+CICD自動(dòng)化檢查”雙重看護(hù)代碼質(zhì)量機(jī)制。通過保護(hù)分支功能,針對(duì)不同的角色控制代碼的推送和合并權(quán)限,確保代碼在推送入庫的時(shí)候就符合質(zhì)量要求。
配合CI/CD自動(dòng)化檢查工具鏈,提供代碼靜態(tài)檢查、安全檢查、測試結(jié)果驗(yàn)證、代碼檢視人員角色和數(shù)量檢查、檢視意見閉環(huán)率等幾十種細(xì)粒度門禁控制策略,用戶可靈活配置以滿足不同的企業(yè)規(guī)范。
?
特性五:記錄代碼來龍去脈,雙向可追溯
軟件的可追溯性是軟件工程的基礎(chǔ)屬性,具備可追溯性是良好的軟件工程能力的客觀呈現(xiàn)??勺匪菪砸筌浖a(chǎn)過程中從需求分析到編碼、構(gòu)建、驗(yàn)證、發(fā)布過程中產(chǎn)生的需求、設(shè)計(jì)、代碼、用例、缺陷、發(fā)布等業(yè)務(wù)對(duì)象以及其關(guān)系的準(zhǔn)確記錄。
華為云CodeArts Repo支持建立工作項(xiàng)和合并請(qǐng)求或者代碼提交commit的雙向關(guān)聯(lián)關(guān)系,實(shí)現(xiàn)軟件開發(fā)過程可追溯,通過可信的開發(fā)過程,保障結(jié)果可信。
以華為內(nèi)部為例,團(tuán)隊(duì)通過在代碼托管工具設(shè)置規(guī)則,確保了每次的代碼入庫都有對(duì)應(yīng)的工作項(xiàng),通過對(duì)關(guān)聯(lián)關(guān)系數(shù)據(jù)進(jìn)行識(shí)別、監(jiān)控和預(yù)警,及時(shí)發(fā)現(xiàn)不合規(guī)的代碼,提高產(chǎn)品質(zhì)量。企業(yè)也可以在處理現(xiàn)網(wǎng)問題時(shí)根據(jù)關(guān)聯(lián)關(guān)系找到對(duì)應(yīng)的代碼版本,快速修復(fù)。
特性六:內(nèi)置多種模板,確保開發(fā)規(guī)范有序
軟件開發(fā)是一項(xiàng)創(chuàng)造性的活動(dòng),也是一項(xiàng)復(fù)雜的多人協(xié)同活動(dòng)。在軟件開發(fā)過程中,企業(yè)需要選擇適合的開發(fā)工作流,并建立規(guī)范的開發(fā)協(xié)作流程來保障產(chǎn)品能夠持續(xù)高質(zhì)量交付。
華為云CodeArts Repo凝聚了華為公司內(nèi)部各類研發(fā)場景的規(guī)范,可以幫助企業(yè)進(jìn)行組織級(jí)開發(fā)規(guī)則制定和落地,促進(jìn)產(chǎn)品質(zhì)量和開發(fā)效率提升。
典型如代碼提交規(guī)則、分支/tag命名規(guī)則,代碼上庫審核規(guī)則、代碼質(zhì)量門禁規(guī)則等,也提供了靈活的模板配置能力,如倉庫模板、代碼檢視模板、合并請(qǐng)求模板。企業(yè)可以通過這些規(guī)范確保團(tuán)隊(duì)開發(fā)行為一致,產(chǎn)生的研發(fā)數(shù)據(jù)格式一致,并基于研發(fā)數(shù)據(jù)做效能分析,持續(xù)改進(jìn)研發(fā)能力。
?
CodeArts Repo優(yōu)秀應(yīng)用案例
得益于以上特性,華為云CodeArts Repo如今已廣泛應(yīng)用于國內(nèi)外財(cái)政、社保、物流、能源等領(lǐng)域,加速企業(yè)數(shù)字化轉(zhuǎn)型。
?
如上海某知名大型物流企業(yè)擁有超過100個(gè)系統(tǒng)平臺(tái),1000多個(gè)倉庫,其業(yè)務(wù)涉及快遞、物流、跨境、倉儲(chǔ)與供應(yīng)鏈等多項(xiàng)業(yè)務(wù)和解決方案。該企業(yè)使用CodeArts Repo管理代碼和協(xié)助規(guī)范企業(yè)開發(fā)活動(dòng),有效提升研發(fā)團(tuán)隊(duì)協(xié)作效率,降低代碼質(zhì)量問題70%。
?
源于華為,服務(wù)世界,華為云CodeArts Repo著力將華為公司30余年的源代碼管理經(jīng)驗(yàn)外溢,服務(wù)千百行業(yè)。面向未來,華為云將對(duì)CodeArts Repo持續(xù)創(chuàng)新升級(jí),探索邊緣下載加速、多倉協(xié)同,提供更豐富的安全檢查特性,攜手國內(nèi)外客戶、伙伴以及開發(fā)者,共同提升軟件開發(fā)質(zhì)量和效率。
體驗(yàn)通道:https://auth.huaweicloud.com/authui/login.html?locale=zh-cn&service=https%3A%2F%2Fwww.huaweicloud.com%2Fproduct%2Fcodehub.html%3Futm_medium%3Dhdc#/login
抽獎(jiǎng)活動(dòng):https://bbs.huaweicloud.com/forum/thread-0206123985919648006-1-1.html