干貨技術(shù),第一時(shí)間送達(dá)! ![]() 大家好,我叫董鑫,一名在測(cè)試開發(fā)道路上的新手,是狂師老師全棧測(cè)開訓(xùn)練營上一期的學(xué)員。第一階段的學(xué)習(xí)已然結(jié)束,收獲頗多,了解了很多在自己平時(shí)測(cè)試工作無法接觸到的新知識(shí),比如這次在這里分享的 之前在公眾號(hào)也分享過一篇文章:測(cè)開新手:從0到1,自動(dòng)化測(cè)試接入Jenkins學(xué)習(xí) 1. 什么是SonarQube
可以基于現(xiàn)有的 優(yōu)點(diǎn): ◆ 支持眾多計(jì)算機(jī)編程語言 ◆ 通過插件機(jī)制能集成IDE、Jenkins、Git等 ◆ 內(nèi)置大量常用代碼檢查規(guī)則 ◆ 支持定制開發(fā)規(guī)則 ◆ 可視化界面 ◆ 支持從可靠性、安全性、可維護(hù)性、覆蓋率、重復(fù)率等 方面分析項(xiàng)目 具體的配置及文檔可以訪問下面的鏈接查看:
2. Jenkins插件安裝及配置
在插件管理中搜索名為 安裝好插件后,還需要配置相應(yīng)的服務(wù)和工具信息: 2.1. 系統(tǒng)設(shè)置->SonarQube servers
![]() 2.2. 全局工具配置》SonarQube Scanner 建議不采用自動(dòng)安裝,使用手動(dòng)下載配置好的sonar scanner
![]() 3. 自由風(fēng)格的job使用sonar3.1 配置代碼倉庫地址: ![]() 3.2 勾選sonarqube 服務(wù)并選擇token: ![]() 3.3 在構(gòu)建中添加Exeute SonarQube Sanner ![]() 這里可以使用兩種方式:
建議使用第二種方式來管理我配置的 ![]() 保存好后,就可以來構(gòu)建了。構(gòu)建后項(xiàng)目頁面可以直接跳轉(zhuǎn)到sonarqube服務(wù)查看。 ![]() ![]() 4. pipeline流水線使用sonar4.1 構(gòu)建一個(gè)流水線job,流水線pipeline script如下編寫:
注意:這里的名稱是在Jenkins中系統(tǒng)管理--sonarqube servers添加的名稱 同樣的,設(shè)置好job后就可以構(gòu)建進(jìn)行代碼掃描了。 5. 接入Sonar質(zhì)量門禁通過上面的job,只是代碼掃描可能無法滿足日常的情況,當(dāng)掃描的結(jié)構(gòu)不滿足時(shí)我可能就不進(jìn)行后面的步驟了,這樣的情況,我們就需要接入質(zhì)量門禁的方式來實(shí)現(xiàn)。 5.1 在sonar服務(wù)端的質(zhì)量閥中設(shè)置質(zhì)量門禁,添加要運(yùn)用的項(xiàng)目 質(zhì)量配置->質(zhì)量閥 ![]() 這里可以添加指標(biāo)來定義通過掃描的條件。然后將設(shè)置的質(zhì)量閥分配給要掃描的項(xiàng)目。 5.2 在sonar服務(wù)端的配置里面添加網(wǎng)絡(luò)調(diào)用hook 配置->網(wǎng)絡(luò)調(diào)用 ![]() 這里添加Jenkins調(diào)用的地址,用來回調(diào)掃描的結(jié)果。URL配置為:Jenkins地址+/sonarqube-webhook 5.3 流水線改造
在上面的流水線的job上增加一個(gè)“檢查結(jié)果分析”的步驟,使用 6. 小結(jié)此次分享就到這里了,更多的是自我知識(shí)沉淀的過程,第一階段的學(xué)習(xí)雖已結(jié)束,但對(duì)于我更多的是開始,很多的知識(shí)需要自己動(dòng)手搭環(huán)境來實(shí)踐,我很享受這個(gè)過程。將一個(gè)個(gè)知識(shí)落實(shí),弄清楚,是一件令我非常高興的事情。接觸并學(xué)習(xí)更多測(cè)試開發(fā)的知識(shí),在測(cè)試的道路上越走越寬,越走越遠(yuǎn),為此,奮力前進(jìn)! |
|