在互聯(lián)網(wǎng)軟件開發(fā)中,持續(xù)集成系統(tǒng)發(fā)揮著至關(guān)重要的作用。近日,信也科技正式推出的Aladdin持續(xù)集成平臺(下稱“Aladdin平臺”),通過不斷演進與優(yōu)化,已成為集團研發(fā)流程中的關(guān)鍵基石。Aladdin平臺貫穿于代碼分支管理、準入與評審、構(gòu)建與單元測試等日常研發(fā)流程中的各個環(huán)節(jié),不僅為集團日常業(yè)務迭代提供了強有力的支持,同時也確保了研發(fā)規(guī)范的有效執(zhí)行。
Aladdin平臺的核心功能包括分支管理規(guī)范實施、編碼規(guī)約掃描、代碼準入質(zhì)量把關(guān)、代碼評審規(guī)范實施以及單元測試規(guī)范落地,共同守護系統(tǒng)研發(fā)規(guī)范。截至目前,Aladdin平臺已創(chuàng)建超過6萬個研發(fā)分支,完成近6萬次代碼評審,執(zhí)行了23萬次代碼合規(guī)掃描,發(fā)現(xiàn)14萬條質(zhì)量問題,共計執(zhí)行49萬次構(gòu)建與22萬次單元測試,為保障集團業(yè)務高質(zhì)量發(fā)展起到了重要作用。
研發(fā)規(guī)范平臺體系架構(gòu)
01研發(fā)分支管理規(guī)范平臺
在信也科技研發(fā)規(guī)范體系中,三級分支管理模型起到了基礎作用。其中master分支負責歷史版本管理,release分支為軟件發(fā)布分支,而feature分支則用于研發(fā)協(xié)作開發(fā)。Aladdin平臺按照研發(fā)管理規(guī)范,對各分支進行從創(chuàng)建到關(guān)閉的全生命周期管理,同時直觀統(tǒng)計展示了代碼提交與合并的信息,使研發(fā)團隊能在Aladdin分支管理平臺上高效地管理研發(fā)生命周期。
研發(fā)分支管理規(guī)范平臺
02編程規(guī)范插件
為了盡早發(fā)現(xiàn)并處理研發(fā)代碼問題,提升研發(fā)交付效率,信也科技自主研發(fā)并落地了《信也編程規(guī)范插件》。該插件可在研發(fā)人員編程過程中實時掃描增量代碼,及時提示高危代碼問題,確保質(zhì)量問題第一時間得到解決。同時,它還能掃描第三方軟件引入的風險,及時通知研發(fā)團隊,并提供修復建議和方案。此外,在代碼提交階段,插件會攔截未修復的增量代碼和依賴軟件問題,保證代碼提交質(zhì)量。
研發(fā)規(guī)范插件示例
03代碼評審平臺
研發(fā)人員在feature分支完成功能特性開發(fā)后,需將代碼并入release分支以進行上線。Aladdin的代碼評審平臺在這一過程中引入了評審機制,評審人員通過提出建議、指出缺陷、執(zhí)行打回等研發(fā)活動,確保特性代碼在合并前符合質(zhì)量標準。
代碼評審平臺
04增量代碼合規(guī)掃描
代碼評審完成后,進行代碼合并。在此階段,代碼倉庫針對新提交的增量代碼進行編碼規(guī)約掃描,包括60條編碼規(guī)范。只有完全符合規(guī)范的增量代碼才能進入代碼倉庫,否則會自動打回,直至所有問題解決。這一過程從基礎編碼規(guī)范角度,實時、自動、高效地保障每次代碼提交的質(zhì)量
代碼準入報告
05持續(xù)集成構(gòu)建平臺
目前,信也科技發(fā)布的軟件均通過Aladdin持續(xù)集成構(gòu)建平臺完成打包。該平臺支持各種編程語言及其不同版本的構(gòu)建需求,包括Java、Go、Python、Javascript、iOS和Android,同時也支持虛擬機、容器云、APP等多種計算平臺。在完成軟件打包的同時,該平臺還自動觸發(fā)單元測試,并對測試結(jié)果進行增量覆蓋率統(tǒng)計,對代碼進行全面的單元測試回歸,進一步保障軟件質(zhì)量。
持續(xù)集成平臺
06提測發(fā)布質(zhì)量檢查
在代碼提測發(fā)布至測試環(huán)境前,Aladdin平臺負責執(zhí)行全面的質(zhì)量檢查,包括分支滯后、依賴包、單元測試覆蓋率卡點以及自動化測試冒煙卡點檢查等,確保所有檢查通過后,會自動升級為測試包并進入后續(xù)測試,繼續(xù)進行功能測試增量覆蓋率和集成回歸等質(zhì)量檢查。
PAones測試發(fā)布平臺
【廣告】