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