背景
搞了3個月代碼掃描,剛剛搞定安全熱點問題的篩選與確認,接下來准備搞java規約掃描的問題分析,但是看着掃出來動不動10K以上的那些項目,真是心塞,是規則太嚴格,還是誤報?分析了幾個rule發現真正開發很少有按標准的寫法,這不行啊,那以后開發將是一件很痛苦的事,正好領導發了阿里的開發指南,正好把阿里的P3C給弄上掃描平台,只用掃這些規則即可滿足現階段的要求。
相關資料
關於集成插件這個,github上有很多個人開發的集成插件,有些提供jar包直接下載可以用,有些需要git clone下來源碼進行·mvn install自己打jar包,個人覺得都行,但根據經驗,有大部分的項目拿下來編譯是不通過的,少量可用。
文件下載地址
sonar-pmd-plugin.jar
鏈接:https://pan.baidu.com/s/1-r53n5w9lBA1Yjm5nSq_Qg
提取碼:q4ba
版本對應
| sonarqube | sonar-pmd-plugin | pgsql |
|---|---|---|
| 8.4 | 3.2 | 9.2.4 |
操作步驟
-
加插件
把
sonar-pmd-plugin-3.2.0-SNAPSHOT.jar存放進sonarqube應用/data/PRG/sonarqube-8.4.1.35646/extensions/plugins -
上傳成功后,重啟應用
特別注意,如果是root用戶上傳后,需chown -R sonarqube:sonarqube *,否則重啟不成功 -
創建規則
管理員帳戶登陸sonarqube,【質量配置】-創建,填寫【名稱】和選擇【語言】,點擊【創建】
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-w8kTMd7t-1604988898401)(../image/sonar配置p3c-2.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAxMTEwMTQyODI5NjE1LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwzTnBibU52YjJ3eE1EQXosc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MCNwaWNfY2VudGVy.png)
-
激活規則
點擊創建后進入P3C規則界面,點擊【更多激活規則】
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1B0yTUlG-1604988898403)(../image/P3C激活規則.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAxMTEwMTQyODUxNTk0LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwzTnBibU52YjJ3eE1EQXosc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MCNwaWNfY2VudGVy.png)
進入激活界面后,輸入【p3c】過濾出規則,規則前都有【p3c】標識,選擇【批量修改】,點擊【激活p3c-test】
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RaqeEInu-1604988898405)(../image/激活p3c.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAxMTEwMTQyOTEyNDg1LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwzTnBibU52YjJ3eE1EQXosc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MCNwaWNfY2VudGVy.png)
-
設置規則
進入【質量配置】,設置默認規則
![[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-kMs4uVXx-1604988898406)(../image/p3c默認規則.png)]](/image/aHR0cHM6Ly9pbWctYmxvZy5jc2RuaW1nLmNuLzIwMjAxMTEwMTQyOTM0ODg2LnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3dhdGVybWFyayx0eXBlX1ptRnVaM3BvWlc1bmFHVnBkR2ssc2hhZG93XzEwLHRleHRfYUhSMGNITTZMeTlpYkc5bkxtTnpaRzR1Ym1WMEwzTnBibU52YjJ3eE1EQXosc2l6ZV8xNixjb2xvcl9GRkZGRkYsdF83MCNwaWNfY2VudGVy.png)
-
驗證
重新掃描-即可

