[發(fā)明專利]一種支持模擬預(yù)合入流水線的Git代碼評審系統(tǒng)及其方法有效
| 申請?zhí)枺?/td> | 202010697174.3 | 申請日: | 2020-07-20 |
| 公開(公告)號: | CN111831271B | 公開(公告)日: | 2023-07-07 |
| 發(fā)明(設(shè)計)人: | 劉慶 | 申請(專利權(quán))人: | 北京簡單一點科技有限公司 |
| 主分類號: | G06F8/33 | 分類號: | G06F8/33;G06F8/41;G06F8/71 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 100000 北京市海淀區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 支持 模擬 入流 水線 git 代碼 評審 系統(tǒng) 及其 方法 | ||
本發(fā)明提供了一種支持模擬預(yù)合入流水線的Git代碼評審系統(tǒng),包括代碼系統(tǒng)、流水線系統(tǒng)和消息中間件;所述代碼系統(tǒng)包括用戶交互模塊、與用戶交互模塊連接的代碼操作模塊、與代碼操作模塊連接的代碼存儲模塊、以及分別與用戶交互模塊和代碼操作模塊連接的代碼評審模塊;所述代碼存儲模塊與消息中間件連接;所述流水線系統(tǒng)包括流水線配置編排模塊、與流水線配置編排模塊連接的流水線調(diào)度執(zhí)行模塊、以及與流水線調(diào)度執(zhí)行模塊連接的構(gòu)建記錄存儲模塊;所述消息中間件與流水線調(diào)度執(zhí)行模塊連接;本發(fā)明能夠前置代碼問題發(fā)現(xiàn)的時間,極大的提升了代碼評審效率,有效的提高了代碼質(zhì)量,并且能夠覆蓋目前同一Git代碼庫內(nèi)進行代碼評審的所有評審模型。
技術(shù)領(lǐng)域
本發(fā)明涉及一種代碼評審系統(tǒng),具體是一種支持模擬預(yù)合入流水線的Git代碼評審系統(tǒng)及其方法。
背景技術(shù)
在現(xiàn)代軟件工程的實踐中,代碼評審已經(jīng)被廣泛采用,Git也在當(dāng)前代碼系統(tǒng)中得到普遍使用。目前,業(yè)界已經(jīng)存在一些基于Git的專業(yè)代碼評審工具,例如谷歌公司的ChangeRequest代碼評審模型;Gitlab公司的MergeRequest代碼評審模型;國內(nèi)的DirectCode?Review代碼評審模型(專利申請?zhí)?01911299362.4)。
上述三種評審模型按照是否使用匿名分支可以分為兩類:
1、不適用匿名分支,使用實體分支作為源分支,向目標分支發(fā)起合入的代碼評審,例如Gitlab的MergeRequest代碼評審模型;
2、使用匿名分支,將要合入目標分支的代碼存儲在一個匿名分支上,發(fā)起從匿名分支向目標分支合入的代碼評審,例如谷歌公司的ChangeRequest代碼評審模型,國內(nèi)的Direct?Code?Review代碼評審模型。
在進行代碼評審的過程中,工具平臺通常會提供代碼掃描、持續(xù)集成流水線執(zhí)行狀態(tài)等相關(guān)信息輔助進行代碼評審,提升代碼的質(zhì)量和代碼評審效率。
代碼評審從理論上來說至少需要如下兩種類型的流水線:
一、保障即將被合入到目標分支上的代碼質(zhì)量的流水線:如果即將被合入到目標分支上的代碼流水線構(gòu)建失敗,大概率的說明這些代碼本身有問題,評審應(yīng)當(dāng)予以打回。
二、保障代碼合入到目標分支之后的代碼質(zhì)量的流水線:如果評審代碼合入到目標分支后流水線的構(gòu)建失敗,說明合并后的代碼有問題,應(yīng)該進行快速修復(fù)或者進行代碼回滾。
以上是目前業(yè)界比較先進的代碼評審系統(tǒng)提供的流水線功能,但是,對于流水線類型二,如果評審代碼合入到目標分支后流水線的構(gòu)建失敗,說明合并后的代碼有問題,這個時候發(fā)現(xiàn)代碼問題的時間比較滯后。
如果能在代碼評審階段就能夠提前知曉合并后的代碼質(zhì)量問題,前置代碼問題發(fā)現(xiàn)的時間,對于提升代碼評審效率,提高代碼質(zhì)量都會有很大收益。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種支持模擬預(yù)合入流水線的Git代碼評審系統(tǒng)及其方法,以解決上述背景技術(shù)中提出的問題。
為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種支持模擬預(yù)合入流水線的Git代碼評審系統(tǒng),包括代碼系統(tǒng)、流水線系統(tǒng)和消息中間件;
所述代碼系統(tǒng)包括用戶交互模塊、與用戶交互模塊連接的代碼操作模塊、與代碼操作模塊連接的代碼存儲模塊、以及分別與用戶交互模塊和代碼操作模塊連接的代碼評審模塊;所述代碼存儲模塊與消息中間件連接;
所述流水線系統(tǒng)包括流水線配置編排模塊、與流水線配置編排模塊連接的流水線調(diào)度執(zhí)行模塊、以及與流水線調(diào)度執(zhí)行模塊連接的構(gòu)建記錄存儲模塊;所述消息中間件與流水線調(diào)度執(zhí)行模塊連接,所述構(gòu)建記錄存儲模塊與代碼評審模塊連接;
所述流水線調(diào)度執(zhí)行模塊用于監(jiān)聽代碼評審的模擬預(yù)合入事件或者流水線內(nèi)部的定時事件,并調(diào)度執(zhí)行符合觸發(fā)條件的流水線;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京簡單一點科技有限公司,未經(jīng)北京簡單一點科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010697174.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





