持續(xù)集成 SonarQube 安裝體驗(yàn)

持續(xù)集成 SonarQube 安裝體驗(yàn)

SonarQube 是代碼質(zhì)量檢測(cè)工具,可以和jenkins集成。SonarQube 通過本地服務(wù)和mvn命令(java maven打包特有)等進(jìn)行代碼分析,并將分析結(jié)果推送到 sonar服務(wù)器中。

下載

sonarqube 提供社區(qū)版本,下載地址為:

https://www.sonarqube.org/downloads/

下載包中包含了window、linux、mac等操作系統(tǒng)執(zhí)行腳本

環(huán)境準(zhǔn)備

  • window10 64
  • 使用 H2 內(nèi)嵌數(shù)據(jù)庫(kù)
  • java 11

配置

window環(huán)境中 SonarQube 使用 wraper 方式啟動(dòng),由于sonar要求 java 11 運(yùn)行。所以先安裝了一個(gè)java11,并修改了配置文件 wraper.conf,將wrapper.java.command 修改為java 11 命令實(shí)際路徑。

wrapper.java.command=C:\Program Files\Java\jdk-11.0.2\bin\java
#wrapper.java.command=java

啟動(dòng)

執(zhí)行命令

StartSonar.bat

執(zhí)行結(jié)果

jvm 1    | 2020.09.25 12:45:37 INFO  app[][o.s.a.SchedulerImpl] Process[es] is up
jvm 1    | 2020.09.25 12:45:37 INFO  app[][o.s.a.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [D:\tools\sonarqube-8.4.2.36762]: C:\Program Files\Java\jdk-11.0.2\bin\java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=D:\tools\sonarqube-8.4.2.36762\temp -XX:-OmitStackTraceInFastThrow --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/common/*;D:\tools\sonarqube-8.4.2.36762\lib\jdbc\h2\h2-1.4.199.jar org.sonar.server.app.WebServer D:\tools\sonarqube-8.4.2.36762\temp\sq-process11619205107628133192properties

體驗(yàn)

  • 默認(rèn)賬號(hào):admin
  • 默認(rèn)密碼:admin
    sonarqube web 默認(rèn)端口為9000,打開 http://localhost:9000
    9.SonarQube-home.png

建立java maven項(xiàng)目并分析

  • 立項(xiàng)
  • 生成項(xiàng)目token
  • 拷貝如下腳本并修改對(duì)應(yīng)token到項(xiàng)目的本地目錄上執(zhí)行
    mvn sonar:sonar \
    -Dsonar.projectKey=projectName \
    -Dsonar.host.url=http://localhost:9000 \
    -Dsonar.login=97b80b3511737e36bbb09ef6a30113f34fbe6db2
    
  • 分析結(jié)果如下


    9.SonarQube-check.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容