基于SonarQube的在線代碼審核方法和系統的制作方法
【技術領域】
[0001]本發明涉及計算機軟件應用技術領域,特別涉及一種基于SonarQube的在線代碼審核方法和系統。
【背景技術】
[0002]代碼審核指的是對應用程序源代碼進行系統性檢查的工作。它的目的是為了找到并且修復應用程序在開發階段存在的一些漏洞或者程序邏輯錯誤,避免程序漏洞被非法利用給企業帶來不必要的風險。目前,代碼審核通常采用人工審核方式,即當開發人員寫好代碼后,需要讓別人來審核一下他的代碼,可以審查代碼的風格、邏輯、思路等,找出問題,以及改進代碼,此過程不僅需要人工分辨代碼的類型而且需要人工審核代碼,這將會耗費大量的人力物力。
【發明內容】
[0003]本發明提供一種基于SonarQube的在線代碼審核方法,解決了人工審核的問題,使得多種項目來源類型代碼實現在線審核,降低代碼審核成本消耗。
[0004]為了達到上述目的,本發明是通過如下技術方案實現的:
[0005]基于SonarQube的在線代碼審核的方法,其特征在于,在代理節點中保存各個項目的源代碼及其對應的URL地址,包括以下步驟:
[0006]WEB應用根據用戶注冊,存儲項目信息;所述WEB應用接收用戶發送的獲取項目列表請求,從代理節點獲取代理節點生成的項目源代碼對應的代理節點URL地址,并發給用戶;而代理節點接收用戶根據代理節點URL地址發送的審核代碼請求,該請求中包括需要審核的目標源代碼信息,并將目標源代碼推送到SonarQube代碼質量管理平臺審核;之后,所述代理節點獲得所述SonarQube代碼質量管理平臺的所述源代碼的審核結果,并返回執行結果給用戶。
[0007]WEB應用根據用戶注冊,存儲項目信息包括:所述WEB應用接收用戶發來的注冊審核項目信息,所述注冊審核項目信息包括:項目名稱、項目來源和項目類型;WEB應用存儲注冊審核項目信息,并發送項目檢索請求給代理節點;所述代理節點根據項目檢索請求中的項目來源的信息,判斷是否能夠檢索到對應的源代碼,如果是,則所述代理節點通知WEB應用檢索成功,WEB應用存儲項目信息,并向用戶返回注冊成功的信息;
[0008]否則,
[0009]所述代理節點通知WEB應用檢索失敗,WEB應用向用戶返回注冊失敗的信息,結束當前流程;
[0010]所述項目來源信息包括:源代碼的URL路徑、用戶名及密碼和項目來源類型。
[0011]WEB應用接收用戶發送的獲取項目列表請求,并從代理節點獲取項目源代碼對應的代理節點URL地址,并發給用戶,進一步包括:所述WEB應用組織代理節點返回用戶所有項目對應的代理節點URL地址形成項目列表,提供給用戶。
[0012]代理節點將目標源代碼推送到SonarQube代碼質量管理平臺審核包括:代理節點根據所述項目類型,為項目生成對應的配置文件,并調用SonarQube相關接口,所述代理節點通過配置文件將目標源代碼推送到SonarQube代碼質量管理平臺;配置文件為SonarQube代碼質量管理平臺與代理節點建立連接并進行源代碼審核所需要的文件。
[0013]在WEB應用獲取源代碼審核結果,并提供給用戶查看之后,進一步包括:SonarQube代碼質量管理平臺接收用戶針對已被審核過的項目發送的查看代碼審核結果請求,SonarQube代碼質量管理平臺將保存的根據配置文件生成的代碼審核結果返回給用戶。
[0014]基于SonarQube的在線代碼審核系統包括:WEB應用、代理節點和SonarQube代碼質量管理平臺,其中,所述WEB應用,根據用戶注冊,存儲項目信息,接收用戶發送的獲取項目列表請求,所述WEB應用從代理節點獲取每一個項目的源代碼對應的URL地址,并發給用戶;代理節點,保存各個項目的源代碼及其對應的URL地址,接收用戶根據URL地址發送的審核代碼請求,該請求中包括需要審核的目標源代碼信息;將目標源代碼推送到SonarQube代碼質量管理平臺審核;獲得所述SonarQube代碼質量管理平臺的所述源代碼的審核結果,并返回執行結果給用戶AonarQube代碼質量管理平臺,用于接收代理節點發送的代碼審核指令,返回代碼審核結果。
[0015]其中,WEB應用包括:WEB應用向用戶返回注冊成功或失敗的信息;代理節點接收WEB應用審核源代碼請求,檢出項目源代碼至所述代理節點生成對應的配置文本,運行代碼審核指令,通過配置文本調用SonarQube代碼質量管理平臺相關接口,將源代碼推送到SonarQube代碼質量管理平臺,接收源代碼審核結果;SonarQube代碼質量管理平臺,進一步用于接收用戶針對已被審核過的項目發送的查看代碼審核結果請求,所述SonarQube代碼質量管理平臺將保存的代碼審核結果返回給用戶。
[0016]可見,本發明具有如下優點:
[0017]WEB應用接收客戶端注冊審核項目,所述注冊審核項目包括:用戶向WEB應用提供項目名稱、項目來源和項目類型;代理節點接收所述客戶端通過所述WEB應用發送的審核代碼的請求,并自動配置審核項目代碼類型;所述代理節點運行審核指令,并將源代碼推送到SonarQube代碼質量管理平臺審核;所述代理節點獲得SonarQube代碼質量管理平臺的源代碼的審核結果,并返回執行結果給所述客戶端。這一過程完成了代碼審核自適配的問題,同時避免了人工審核代碼所帶來的問題,減少了人工審核所需付出的審核代價,提高了代碼審核效率。
【附圖說明】
[0018]圖1為本發明實施例基于SonarQube在線代碼審核方法的基本流程圖。
[0019]圖2為本發明實施例1中基于SonarQube在線代碼審核方法的流程圖。
[0020]圖3為本發明實施例2中基于SonarQube在線代碼審核方法的流程圖。
【具體實施方式】
[0021]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0022]SonarQube是一個用于代碼質量管理的開源平臺,用于管理源代碼的質量。其通過插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol, JavaScrip, Groovy等二十幾種編程語言的代碼質量管理與檢測。
[0023]本發明實施例提供了一種基于SonarQube的在線代碼審核方法,參見圖1,該方法包括:
[0024]步驟101:WEB應用根據用戶注冊,存儲項目信息;
[0025]所述項目信息包括:項目名稱、項目來源和項目類型;
[0026]步驟102:WEB應用接收用戶發送的獲取項目列表請求,所述WEB應用從代理節點獲取每一個項目的源代碼對應的URL地址,并發給用戶;
[0027]步驟103:所述代理節點接收用戶根據URL地址發送的審核代碼請求,該請求中包括需要審核的目標源代碼信息;
[0028]步驟104:所述代理節點將目標源代碼推送到SonarQube代碼質量管理平臺審核;
[0029]步驟105:所述代理節點獲得所述SonarQube代碼質量管理平臺的所述源代碼的審核結果,并返回執行結果給用戶。
[0030]本發明將通過一個具體實施例來詳細說明基于SonarQube的在線代碼審核方法。
[0031]WEB應用接收用戶發來的注冊審核項目信息,所述注冊審核項目信息包括:項目名稱、項目來源和項目類型;WEB應用存儲注冊審核項目信息,并發送項目檢索請求給代理節點;所述代理節點根據項目檢索請求中的項目來源的信息,判斷是否能夠檢索到對應的源代碼,如果是,則所述代理節點通知WEB應用檢索成功,WEB應用存儲項目信息,并向用戶返回注冊成功的信息;所述代理節點則為該項目建立對應的URL地址和配置文件;所述代理節點發送審核代碼請求,該請求中包括需要審核的目標源代碼信息,并將目標源代碼推送到SonarQube代碼質量管理平臺審核。參見圖2,在本發明實施例1中,實現基于SonarQube在線審核代碼審核的過程包括如下步驟:
[0032]步驟201:WEB應用接收用戶發來的注冊審核項目信息,所述注冊審核項目信息包括:項目名稱、項目來源和項目類型;
[0033]步驟202:WEB應用存儲注冊審核項目信息,并發送項目檢索請求給代理節點;
[0034]本步驟中,項目檢索請求中攜帶項目來源的信息,項目來源信息包括:源代碼URL路徑、用戶名及密碼和來源類型。其中,用戶名和密碼是代理節點獲取源代碼所需的用戶名和密碼。
[0035]步驟203:代理節點根據項目檢索請求中的項目來源的信息,判斷是否能夠檢索到對應的源代碼,如果是,則執行步驟204,否則,執行步驟205。
[0036]步驟204:代理節點通知WEB應用檢索成功,并為該項目建立對應的代理節點URL地址以及審核代碼所需的對應的配置文件,WEB應用向用戶返回注冊成功的信息,執行步驟206 ;
[0037]所述配置文件是由代理節點根據項目信息建立,其為SonarQube代碼質量管理平臺與代理節點建立連接并進行源代碼審核所需要的文件。
[0038]步驟205:代理節點通知WEB應用檢索失敗,WEB應用向用戶返回注冊失敗的信息,結束當前流程。
[0039]用戶可通過上述步驟201到步驟205可完成更多項目的注冊。
[0040]步驟206:WEB應用接收用戶發送的獲取項目列表請求,所述WEB應用從代理節點獲取代理節點為項目生成的對應的URL地址,并發給用戶;
[0041]WEB應用組織所有項目對應的URL形成項目列表,提供給用戶。
[0042]該項目列表包含用戶所有的注冊項目。用戶獲取項目列表后,可針對項目列表中任一項目向代理節點發送審核代碼請求并執行步驟207。
[0043]步驟207:代理節點接收用戶根據URL地址發送的審核代碼請求,該請求中包括需要審核的目標源代碼信息。
[0044]步驟208:代理節點將目標源代碼推送到SonarQube代碼質量管理平臺審核;
[0045]代理節點根據所述項目類型,為項目生成對應的配置文件,并調用SonarQube相關接口,所述代理節點通過配置文件將目標源代碼推送到SonarQube代碼質量管理平臺;
[0046]配置文件為SonarQube代碼質量管理平臺與代理節