|
公司基本資料信息
|
SonarQube簡介
一、 SonarQube是什么?
1、代碼質量和安全掃描和分析平臺。
2、多維度分析代碼:代碼量、安全隱患、編寫規范隱患、重復度、復雜度、代碼增量、測試覆蓋率等。
3、支持25+編程語言的代碼掃描和分析,包含javapythonC#javascriptgoC++等。
4、涵蓋了編程語言的靜態掃描規則: 代碼編寫規范+安全規范。
5、能夠與代碼編輯器、CI/CD平臺集成。
6、能夠與SCM集成,可以直接在平臺上看到代碼問題是由哪位開發人員提交。
7、幫助程序猿寫出更干凈、更安全的代碼。
SonarQube 8.3.1安裝說明(一)
找到SonarQube 8.3.1a安裝程序
完成后拷貝到內網centos7上進行解壓
Centos7內網安裝數據庫(用于存放sonar掃描結果)準備一臺能上網的Centos7虛擬機
(1)安裝存儲庫設置軟件源,用于pg12包至本地
(2)創建一個文件夾用來存放后的rpm包
root用戶登錄后,進入想要存放rpm包的目錄,執行以下命令創建pg12_rpms文件夾:
(3)rpm包,存放在pg12_rpms文件夾中(4)在內網服務器上安裝好的rpm包,注意一定要按以下順序安裝
(5)初始化數據庫
(6)設置pg12開機啟動/啟動
(7)修改tgres密碼(root用戶下)
(8)開啟遠程訪問(root用戶下)
(9)信任遠程連接(root用戶下)
(10)重啟數據庫
(11)在數據庫中創建sonarqube所需的庫、用戶名、密碼(root用戶下)
PS:如果使用pgAdmin等工具連接數據庫的話,可以可視化創建庫、用戶、并授權,無需執行以上命令
關于SonarQube社區版使用問題及解決方法
SonarQube項目授權問題
我們在前面解決了SonarQube掃描前的一些問題,現在開始解決授權問題。
Sonarqube的授權配置
用戶首先登陸SonarQube平臺(我們做了GitlabSSO/LDAP集成)
根據不同的業務組對應創建一個group
然后將用戶加入到對應的group中
根據業務的簡稱創建對應的權限模板
將組和管理員加入權限模板中
然后將該業務的項目批量應用權限模板
SonarQube工作原理
SonarQube 并不是簡單地將各種質量或覆蓋率檢測工具的結果(例如 CheckStyle、JACOCO 等)直接展現給客戶,而是通過不同的插件算法來對結果進行再加工,并蕞終以量化的方式來衡量代碼質量,從而方便地對不同規模和種類的工程進行相應的代碼質量管理,以便進行有針對性的代碼修復或重構。
SonarQube 在進行代碼質量管理時,會從以下的七個緯度對項目代碼質量進行分析