日韩在线一区二区三区,日本午夜一区二区三区,国产伦精品一区二区三区四区视频,欧美日韩在线观看视频一区二区三区 ,一区二区视频在线,国产精品18久久久久久首页狼,日本天堂在线观看视频,综合av一区

[發明專利]一種支持模擬預合入流水線的Git代碼評審系統及其方法有效

專利信息
申請號: 202010697174.3 申請日: 2020-07-20
公開(公告)號: CN111831271B 公開(公告)日: 2023-07-07
發明(設計)人: 劉慶 申請(專利權)人: 北京簡單一點科技有限公司
主分類號: G06F8/33 分類號: G06F8/33;G06F8/41;G06F8/71
代理公司: 暫無信息 代理人: 暫無信息
地址: 100000 北京市海淀區*** 國省代碼: 北京;11
權利要求書: 查看更多 說明書: 查看更多
摘要:
搜索關鍵詞: 一種 支持 模擬 入流 水線 git 代碼 評審 系統 及其 方法
【權利要求書】:

1.一種支持模擬預合入流水線的Git代碼評審方法,其特征在于,包括代碼系統、流水線系統和消息中間件;

所述代碼系統包括用戶交互模塊、與用戶交互模塊連接的代碼操作模塊、與代碼操作模塊連接的代碼存儲模塊、以及分別與用戶交互模塊和代碼操作模塊連接的代碼評審模塊;所述代碼存儲模塊與消息中間件連接;

所述流水線系統包括流水線配置編排模塊、與流水線配置編排模塊連接的流水線調度執行模塊、以及與流水線調度執行模塊連接的構建記錄存儲模塊;所述消息中間件與流水線調度執行模塊連接,所述構建記錄存儲模塊與代碼評審模塊連接;

所述流水線調度執行模塊用于監聽代碼評審的模擬預合入事件或者流水線內部的定時事件,并調度執行符合觸發條件的流水線;

該方法包括如下場景:

場景一、流水線配置場景;

用戶通過流水線系統中的流水線配置編排模塊,為代碼系統合入需要經過代碼評審的分支配置模擬預合入流水線,并且該流水線的觸發條件為評審模擬預合入;

場景二、發起MergeRequest代碼評審場景,包括以下步驟:

步驟201、用戶通過代碼系統中的用戶交互模塊,創建從源分支A2到目標分支B2的MergeRequest代碼評審MR2,此時分支A2的最新Commit記為CommitA2,?分支B的最新Commit記為CommitB2;

步驟202、代碼評審模塊在完成?MR2的創建之后,向代碼操作模塊發送指令,要求代碼操作模塊在代碼存儲模塊中創建CommitA2和CommitB2的一個臨時合并提交,記為CommitC2;

步驟203、代碼操作模塊向代碼存儲模塊發送指令,并要求代碼存儲模塊進行CommitC2的創建,如果CommitA2和CommitB2發生代碼沖突,無法生成CommitC2,則流程結束;

步驟204、如果CommitA2和CommitB2沒有代碼沖突,代碼存儲模塊創建CommitC2成功后,向消息中間件發送評審模擬預合入事件消息;

其中,消息體中的分支信息偽造為代碼評審MR2的目標分支B2,并將Commit信息偽造為臨時CommitC2,事件類型設置為模擬預合入,消息體還包括代碼評審單號信息;

步驟205、流水線系統中的流水線調度執行模塊獲取消息中間件傳送的消息,獲得步驟204中代碼存儲模塊發送的消息體,并對消息體內容進行解析,獲取事件源的分支為分支B2,事件類型為模擬預合入,Commit為CommitC2;

步驟206、流水線調度執行模塊通過流水線配置編排模塊查找用戶在場景一中為分支B2配置的模擬預合入流水線信息,并將該流水線進行調度執行,執行狀態信息存儲至構建記錄存儲模塊;

步驟207、構建記錄存儲模塊將分支B2的模擬預合入流水線執行狀態信息根據評審單號,回傳至代碼評審模塊,從而實現用戶在代碼評審的過程中,提前得到代碼預合入后流水線構建是否能夠成功的信息;

場景三、更新MergeRequest代碼評審源分支場景,包括以下步驟:

步驟301、基于場景二,用戶創建從源分支A2到目標分支B2的MergeRequest代碼評審記為MR2,此時分支A2的最新Commit記為CommitA2,分支B2的最新Commit記為CommitB2,由于代碼評審被駁回,用戶通過命令行向分支A2提交更新后的代碼記為CommitA2-2;

步驟302、用戶交互模塊將步驟301中用戶代碼提交命令轉發至代碼操作模塊;

步驟303、代碼操作模塊向代碼評審模塊發送查詢請求,查詢分支A2是否含有正在評審進行中的MergeRequest;

如果沒有,代碼操作模塊將CommitA2-2?提交至代碼存儲模塊中,流程結束;

如果有,則通過代碼評審模塊獲取分支A2正在進行中的MergeRequest集合,并記為list3;

步驟304、代碼操作模塊向代碼存儲模塊發送指令,將分支A2的CommitA2-2提交至代碼存儲模塊;

步驟305、對list3中的每個MR進行步驟306至步驟3010的循環操作;其中,將list3中的每個MergeRequest記為MR{n},n表示list3中MergeRequest的數目;

步驟306、代碼操作模塊向代碼存儲模塊發送指令,在代碼存儲模塊中創建CommitA2-2和CommitB2的一個臨時合并提交,記為CommitC3;

如果CommitA2-2和CommitB2發生代碼沖突,無法生成CommitC3,則MR{n}的處理流程結束;

步驟307、如果CommitA2-2和CommitB2沒有代碼沖突,代碼存儲模塊創建CommitC3成功后,向消息中間件發送評審模擬預合入事件消息;

其中,消息體中的分支信息偽造為代碼評審的目標分支B2,并將Commit信息偽造為臨時CommitC3,事件類型設置為模擬預合入;

步驟308、流水線系統的調度執行模塊獲取消息中間件中的消息,獲得步驟307中代碼存儲模塊發送的消息體,并對消息體內容進行解析,獲取事件源的分支為分支B2、事件類型為模擬預合入、Commit信息為CommitC3、評審單號信息MR{n};

步驟309、流水線調度執行模塊通過流水線配置編排模塊查找用戶在場景一中為分支B2配置的模擬預合入流水線信息,并將該流水線進行調度執行,執行狀態信息存儲至構建記錄存儲模塊;

步驟3010、構建記錄存儲模塊將分支B2的模擬預合入流水線執行狀態信息根據評審單號MR{n},回傳至代碼評審模塊,從而實現用戶在代碼評審的過程中,提前得到代碼預合入后流水線構建是否能夠成功的信息;

場景四、創建ChangeRequest或Direct?Code?Review代碼評審場景,包括以下步驟:

步驟401、用戶將本地編寫完成的代碼通過客戶端發起向目標分支B4的代碼評審創建命令,其中,目標分支B4的最新Commit記為CommitB4;

步驟402、代碼操作模塊向代碼存儲模塊發送指令,創建臨時匿名分支A4,并在分支A4上存儲用戶從客戶端在步驟401中提交上來的代碼,記為CommitA4;

步驟403、代碼操作模塊向代碼評審模塊發送指令,創建代碼評審CR4,CR4的目標分支為B4,源分支用戶不可見,是匿名的臨時分支A4;

步驟404、代碼評審模塊將代碼評審CR4的信息回傳至代碼操作模塊;

步驟405、代碼操作模塊向代碼存儲模塊發送指令,要求其在代碼存儲模塊中創建CommitA4和CommitB4的一個臨時合并提交,記為CommitC4;

如果CommitA4和CommitB4發生代碼沖突,無法生成CommitC4,則CR4的處理流程結束;

步驟406、如果CommitA4和CommitB4沒有代碼沖突,代碼存儲模塊創建CommitC4成功后,向消息中間件發送評審模擬預合入事件消息;

其中,消息體中的分支信息偽造為代碼評審的目標分支B4,并將Commit信息偽造為臨時CommitC4,事件類型設置為模擬預合入;

步驟407、流水線系統中的調度執行模塊獲取消息中間件中的消息,獲得步驟406中代碼存儲模塊發送的消息體,并對消息體內容進行解析,獲取事件源的分支為分支B4、事件類型為模擬預合入、Commit信息為CommitC4、評審單號信息CR4;

步驟408、流水線調度執行模塊通過流水線配置編排模塊查找用戶在場景一中為分支B4配置的模擬預合入流水線信息,并將該流水線進行調度執行,執行狀態信息存儲至構建記錄存儲模塊;

步驟409、構建記錄存儲模塊將分支B4的模擬預合入流水線執行狀態信息根據評審單號CR4,回傳至代碼評審模塊,從而實現用戶在代碼評審的過程中,提前得到代碼預合入后流水線構建是否能夠成功的信息;

場景五、更新Change?Request或Direct?Code?Review代碼評審匿名臨時分支場景,包括以下步驟:

步驟501、基于場景四,用戶創建了到目標分支B4的Change?Request和Direct?CodeReview的代碼評審記為CR4,此時評審的源分支是用戶不可見的匿名臨時分支A4,其最新Commit記為CommitA4,?分支B4的最新Commit記為CommitB4,由于代碼評審被駁回,用戶通過命令行將本地最新的代碼推送至服務器端;

步驟502、用戶交互模塊將步驟501中的用戶代碼提交命令轉發至代碼操作模塊;

步驟503、代碼操作模塊根據提交命令中的目標分支信息和提交者信息,從代碼評審模塊查詢到CR4;

步驟504、代碼操作模塊向代碼存儲模塊發送指令,將用戶在步驟501中推送過來的最新代碼提交至分支A4,最新的代碼記為CommitA4-2;

步驟505、代碼操作模塊向代碼存儲模塊發送指令,要求其在代碼存儲模塊中創建CommitA4-2和CommitB4的一個臨時合并提交,記為CommitC4-2;

如果CommitA4-2和CommitB4發生代碼沖突,無法生成CommitC4-2,則CR4的處理流程結束;

步驟506、如果CommitA4和CommitB4沒有代碼沖突,代碼存儲模塊創建CommitC4-2成功后,向消息中間件發送評審模擬預合入事件消息;

其中,消息體中的分支信息偽造為代碼評審的目標分支B4,并將Commit信息偽造為臨時CommitC4-2,事件類型設置為模擬預合入;

步驟507、流水線系統中的調度執行模塊獲取消息中間體的消息,獲得步驟506中代碼存儲模塊發送的消息體,并對消息體內容進行解析,獲取事件源的分支為分支B4、事件類型為模擬預合入、Commit信息為CommitC4-2、評審單號信息CR4;

步驟508、流水線調度執行模塊通過流水線配置編排模塊查找用戶在場景一中為分支B4配置的模擬預合入流水線信息,并將該流水線進行調度執行,執行狀態信息存儲至構建記錄存儲模塊;

步驟509、構建記錄存儲模塊將分支B4的模擬預合入流水線執行狀態信息根據評審單號CR4,回傳至代碼評審模塊,從而實現用戶在代碼評審的過程中,提前得到代碼預合入后流水線構建是否能夠成功的信息;

場景六、評審目標分支更新場景,包括以下步驟:

步驟601、假設多個用戶向目標分支B6創建了若干個不同的代碼評審,同時具有MergeRequest、Change?Request和Direct?Code?Review,提交更新后的代碼記為CommitB6;

步驟602、代碼操作模塊向代碼評審模塊發起查詢請求,查詢分支B6是否有作為目標分支且評審狀態正在進行中的評審;如果沒有,流程結束;如果有,獲取分支B6正在進行中的全部評審集合,記為list6;

步驟603、對list6中的每一個評審進行步驟604至步驟608的循環操作;其中,將list6中的每一個評審記為XR{k},k表示list6中評審的數目;XR{k}的目標分支為B6,B6的最新代碼為CommitB6-2,當XR{k}為MergeRequest時,其源分支為實體分支,記為A6-1;當XR{k}為Change?Request時,其源分支為匿名臨時分支,記為A6-2;當XR{k}為Direct?Code?Review時,其源分支也為匿名臨時分支,記為A6-3;統一將分支A6-{i}(i=1,2,3)的最新代碼記為CommitA6-{i};

步驟604、代碼操作模塊向代碼存儲模塊發送指令,要求其在代碼存儲模塊中創建CommitA6-{i}和CommitB6-2的一個臨時合并提交,記為CommitC6;

如果CommitA6-{i}和CommitB6-2發生代碼沖突,無法生成CommitC6,則XR{k}的處理流程結束;

步驟605、如果CommitA6-{i}和CommitB6-2沒有代碼沖突,代碼存儲模塊創建CommitC6成功后,向消息中間件發送評審模擬預合入事件消息;

其中,消息體中的分支信息偽造為代碼評審的目標分支B6,并將Commit信息偽造為臨時CommitC6,事件類型設置為模擬預合入;

步驟606、流水線系統中的調度執行模塊獲取消息中間件的消息,獲得步驟605中代碼存儲模塊發送的消息體,并對消息體內容進行解析,獲取事件源的分支為分支B6、事件類型為模擬預合入、Commit信息為CommitC6,評審單號信息XR{k};

步驟607、流水線調度執行模塊通過流水線配置編排模塊查找用戶在場景一中為分支B6配置的模擬預合入流水線信息,并將該流水線進行調度執行,執行狀態信息存儲至構建記錄存儲模塊;

步驟608、構建記錄存儲模塊將分支B6的模擬預合入流水線執行狀態信息根據評審單號XR{k},回傳至代碼評審模塊,從而實現用戶在代碼評審的過程中,提前得到代碼預合入后流水線構建是否能夠成功的信息。

下載完整專利技術內容需要扣除積分,VIP會員可以免費下載。

該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京簡單一點科技有限公司,未經北京簡單一點科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服

本文鏈接:http://www.szxzyx.cn/pat/books/202010697174.3/1.html,轉載請聲明來源鉆瓜專利網。

×

專利文獻下載

說明:

1、專利原文基于中國國家知識產權局專利說明書;

2、支持發明專利 、實用新型專利、外觀設計專利(升級中);

3、專利數據每周兩次同步更新,支持Adobe PDF格式;

4、內容包括專利技術的結構示意圖、流程工藝圖技術構造圖;

5、已全新升級為極速版,下載速度顯著提升!歡迎使用!

請您登陸后,進行下載,點擊【登陸】 【注冊】

關于我們 尋求報道 投稿須知 廣告合作 版權聲明 網站地圖 友情鏈接 企業標識 聯系我們

鉆瓜專利網在線咨詢

周一至周五 9:00-18:00

咨詢在線客服咨詢在線客服
tel code back_top
主站蜘蛛池模板: 精品久久久久久中文字幕大豆网| 欧洲精品一区二区三区久久| 日韩欧美高清一区| 高清在线一区二区| 波多野结衣巨乳女教师| 欧美一区二区在线不卡| 日本一二三区视频在线| 欧美黄色一二三区| 日韩亚洲国产精品| 欧美激情在线免费| 亚洲伊人久久影院| 日本xxxxxxxxx68护士| 欧美一区二区三区白人| 高清人人天天夜夜曰狠狠狠狠| 久99久视频| 亚洲国产一区二区久久久777| 特高潮videossexhd| 狠狠色狠狠色很很综合很久久| 色天天综合久久久久综合片| 激情久久一区| 日韩一区二区三区福利视频| 午夜欧美影院| 91一区在线观看| 国产精一区二区三区| 十八无遮挡| 一区二区三区国产精品视频| 国产一区激情| 夜色av网站| 香港三日本三级三级三级| 欧美日本三级少妇三级久久| 精品特级毛片| 国产人澡人澡澡澡人碰视| 99精品偷拍视频一区二区三区| 国产精品v欧美精品v日韩精品v | 中文字幕在线一二三区| 国产日韩欧美专区| 久久99精品国产| 久久国产免费视频| 肉丝肉足丝袜一区二区三区| 日韩精品少妇一区二区在线看| 精品国产乱码久久久久久免费| 精品一区二区三区自拍图片区| 精品a在线| 国产精品一区二区久久乐夜夜嗨| 26uuu亚洲国产精品| 日韩精品中文字幕一区二区三区 | 国产一级自拍| 国产欧美亚洲精品第一区软件| 国产69精品久久99的直播节目| 手机看片国产一区| 国产资源一区二区| 精品国产一二区| 国产欧美日韩另类| 中文字幕欧美日韩一区| 国产精品二区一区| 欧美一级免费在线视频| 欧美67sexhd| 农村妇女精品一二区| 在线观看v国产乱人精品一区二区| 日韩av中文字幕第一页| 国产精品久久国产三级国电话系列 | 日本精品一二三区| 国产精品影音先锋| 国内精品99| 国产男女乱淫真高清视频免费| 日本少妇高潮xxxxⅹ| 国产男女乱淫真高清视频免费| 欧美日韩一区二区三区69堂| 国产伦理久久精品久久久久| 午夜电影院理论片做爰| 国产精品不卡一区二区三区| 999久久国精品免费观看网站 | 午夜免费片| 国产美女视频一区二区三区| 国产伦精品一区二| 国产一区日韩在线| 国产精品禁18久久久久久| 青苹果av| 一区二区三区香蕉视频| 二区三区免费视频| 久久夜色精品亚洲噜噜国产mv| 久久久久一区二区三区四区 | 欧美一区二区久久| 国产一区二区a| 欧美日韩国产在线一区二区三区| 国产一区二区91| 香港日本韩国三级少妇在线观看| 91精品第一页| 日韩精品乱码久久久久久| 99国产精品99久久久久久粉嫩| 日本一区免费视频| 国产精品一二三在线观看| 7799国产精品久久99| 在线国产一区二区| 午夜欧美影院| 乱子伦农村| 国产精品免费观看国产网曝瓜| 麻豆国产一区二区| 四虎精品寂寞少妇在线观看| 日韩精品在线一区二区三区| 国产91视频一区| 黄色91在线观看| 狠狠躁夜夜躁| 久久精品综合| 91亚洲欧美强伦三区麻豆| 国产欧美一区二区三区四区| 国产999在线观看| 国产一区亚洲一区| 精品国产一区二| 久久久久久国产精品免费| 日韩av一区二区在线播放| 国产午夜一区二区三区| 日韩一区高清| 夜色av网| 大bbw大bbw超大bbw| 欧美日韩九区| 91免费国产视频| 欧美视屏一区二区| 亚洲欧美日韩国产综合精品二区| 国产一区二区三区色噜噜小说| 国产欧美一区二区在线观看| 国产精品19乱码一区二区三区| 亚洲高清毛片一区二区| 亚洲第一区国产精品| 亚洲精品欧美精品日韩精品| 国产日韩欧美91| 波多野结衣女教师电影| 午夜色大片| 日本精品一区在线| 国产一区二区在线免费| 国产伦精品一区二区三区电影| 国产1区2| 日韩一区高清| 99日韩精品视频| 99久久婷婷国产综合精品电影| 91精品免费观看| 国产欧美精品一区二区三区-老狼| 99视频国产精品| 国产白嫩美女在线观看| 久久国产精品二区| 精品久久久久久中文字幕大豆网| 国产影院一区二区| 玖玖精品国产| 少妇性色午夜淫片aaa播放5| 日韩精品中文字幕一区二区| 欧美日韩精品在线一区二区| 国产精品久久99| 欧美在线一级va免费观看| 日韩精品免费一区二区中文字幕| 毛片大全免费看| 亚洲国产精品女主播| 91精品啪在线观看国产手机| 日韩a一级欧美一级在线播放| 国产精品国产三级国产专区53| 午夜精品一区二区三区aa毛片| 久久福利视频网| 国产精品美女一区二区视频| 国产精品久久久久久久久久久久久久久久 | 国产69精品久久| 国产精品1区2区| 99久久精品国产系列| 国产精欧美一区二区三区久久| 久久一区二区视频| 久久久久亚洲最大xxxx| 91福利试看| 国产亚洲综合一区二区| 国产乱子伦农村xxxx| 日韩精品午夜视频| 亚洲国产aⅴ精品一区二区16| 欧美日本一二三区| 中文字幕在线一二三区| 一区二区三区在线影院| 国产日产高清欧美一区二区三区 | 久久夜色精品国产噜噜麻豆| 91看黄网站| 欧美精品在线不卡| 国产色婷婷精品综合在线播放| 91视频一区二区三区| 午夜wwwww| 国产真实乱偷精品视频免| 国产在线不卡一区| 天摸夜夜添久久精品亚洲人成| 97人人模人人爽人人喊小说| 亚洲欧美国产中文字幕| 99久久精品一区| 日韩欧美中文字幕精品| 久久综合国产精品| 超碰97国产精品人人cao| 国产黄一区二区毛片免下载| 6080日韩午夜伦伦午夜伦| 日本三级韩国三级国产三级| 欧美67sexhd| 午夜伦全在线观看| 国产三级精品在线观看| 欧美三级午夜理伦三级中视频| 91看片淫黄大片91| 毛片大全免费看| 久久婷婷国产综合一区二区| 99精品小视频| 亚洲久久在线| 国偷自产一区二区三区在线观看 | 久久国产精品久久| 日韩精品免费一区二区中文字幕| 午夜黄色一级电影| 欧美视屏一区| 岛国黄色av| av不卡一区二区三区| 97人人澡人人爽人人模亚洲 | 日本三级香港三级| 欧美三级午夜理伦三级老人| 一本色道久久综合亚洲精品图片| 狠狠躁夜夜av| 国产一级片子| freexxxxxxx| 国产精品电影一区二区三区| 久久艹国产精品| 视频一区欧美| 97久久精品人人做人人爽| 欧美综合在线一区| 日韩毛片一区| 国产在线精品一区| 午夜社区在线观看| 日韩毛片一区| 国产欧美一区二区精品久久| 97国产精品久久久| 浪潮av色| 91片在线观看| 一区二区三区欧美精品| 欧美大成色www永久网站婷| 少妇高潮一区二区三区99小说| 国产精品日韩一区二区| 久久天堂国产香蕉三区| 久久一区二区精品视频| 国产麻豆精品一区二区| 国产一a在一片一级在一片| 国产88av| 午夜大片网| 伊人欧美一区| 国产www亚洲а∨天堂| 91久久国产露脸精品国产| 蜜臀久久精品久久久用户群体| 久久精品99国产国产| 久久午夜无玛鲁丝片午夜精品| 中文字幕一区二区三区乱码| 精品videossexfreeohdbbw| 国产午夜精品一区二区三区视频|