sonarqube代碼質量管理平臺搭建及使用

sonarqube是一個代碼質量管理平臺,可以定位代碼中潛在的或者明顯的錯誤,支持多種語言的代碼審查,且有豐富的插件,方便集成使用。

分爲三步走:

1.sonarqube搭建

2.sonarqube使用

3.sonarqube集成

 

sonarqube搭建

sonarqube官網:https://www.sonarqube.org/

最新版本是8.1,看官方文檔的要求裏 server要求jdk11,且數據庫不支持mysql。

因測試平臺,jenkins都部署在65那臺機器上,我也不想將其jdk8換成jdk11,於是找了一個相對比較新的版本7.6

sonarqube7.6的安裝包下載地址:

選擇7.6的原因有兩點:1.可以用原有的jdk8 2.可以用原有的mysql5.7

https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.6.zip

sonarqube安裝

1.將下載下來的7.6版本(建議先本地下載再傳到服務器上去)解壓縮

unzip sonarqube-7.6.zip

 

2.將解壓縮後的文件移動到/usr/local/   下面,並且文件夾的名字變爲sonarqube

mv sonarqube-7.6 /usr/local/sonarqube

3.啓動sonarqube

進入/usr/local/sonarqube/bin/linux-x86-64    bin的目錄下面對應不同的操作系統,可根據實際的操作系統進行選擇進入

./sonar.sh start

 

這時會提示started

但實際上並沒有啓動成功,可以去查看日誌,但是網上其他很多文章也說過這個問題,其實就是sonarqube不能通過root來啓動,需要創建用戶

4.創建非root用戶並啓動

    1--創建用戶
    adduser sonarUser
    2--設置密碼 需要輸入兩次,要複雜一點
    passwd XXXXr

   3---修改sonar的目錄和用戶組爲sonarUser(/usr/local目錄下面)
   chown -R sonarUser:sonarUser sonarqube
   4--以sonarUser執行命令
   su sonarUser
  ./sonar.sh start
   重啓和停止:

  • ./sonar.sh stop 停止服務
  • ./sonar.sh restart 重啓服務

5.訪問sonar

http://x.x.x.x:9000

但是這個時候,首頁會給你報個數據庫的錯誤,當然因爲並沒有創建數據庫的原因

6.創建sonar數據庫

 

創建數據庫 sonar
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;

只要創建sonar數據庫就行了,表格sonar會自動進行創建

修改sonar的數據庫配置文件
cd /usr/local/sonarqube/conf
vim sonar.properties

以下內容都是配置文件裏面預留的,查找相關內容,將#去掉,配置成實際的

需要修改的地方

1.數據庫的ip,端口

2.數據庫的用戶名和密碼

以上配置完成後,重啓sonar

  • ./sonar.sh restart 重啓服務

訪問sonarhttp://x.x.x.x:9000

這次因爲配置了數據庫,所以第一次頁面啓動比較慢,他需要去初始化數據庫的表格

至此sonarqube算是搭建完成!

 

sonarqube使用

默認登錄用戶名密碼爲admin,admin

1.漢化 安裝中文插件,完成後會提示你重啓,重啓下就變成中文了。

2.拿商家端做個實驗

因商家端之前我拿jenkins部署過,所以相對比較瞭解,它是通過maven去編譯的

1)創建一個項目,名稱啥的可以隨便填,但是爲了方便標識,最好就用可以代表項目的名字

2)創建令牌,一步步執行就行了

3)選擇語言及構建方式,點擊代碼區域右上角的複製

4)將複製的內容放到服務器上項目的根目錄下面執行,執行完成後會自動將報告上傳到sonarqube

 

坑:

maven命令執行完成時報錯,報告刪除失敗:

原因是mysql對最大上傳文件的大小做了限制4M,實際報告有68M

方法:修改mysql配置文件

my.cnf 將max_allowed_packet=128M 可以根據實際情況進行設置

記住1:my.cnf設置完成後,一定要將mysql重啓service mysqld restart 

記住2:sonar也必須重啓

 

以上都做完,再重新執行下maven命令就可以了。

 

sonarqube集成

這部分後面在寫,可以通過jenkins或者gitlabci都可以進行集成

 

發佈了23 篇原創文章 · 獲贊 15 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章