持续集成 SonarQube 安装体验

持续集成 SonarQube 安装体验

SonarQube 是代码质量检测工具,可以和jenkins集成。SonarQube 通过本地服务和mvn命令(java maven打包特有)等进行代码分析,并将分析结果推送到 sonar服务器中。

下载

sonarqube 提供社区版本,下载地址为:

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

下载包中包含了window、linux、mac等操作系统执行脚本

环境准备

  • window10 64
  • 使用 H2 内嵌数据库
  • java 11

配置

window环境中 SonarQube 使用 wraper 方式启动,由于sonar要求 java 11 运行。所以先安装了一个java11,并修改了配置文件 wraper.conf,将wrapper.java.command 修改为java 11 命令实际路径。

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

启动

执行命令

StartSonar.bat

执行结果

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

体验

  • 默认账号:admin
  • 默认密码:admin
    sonarqube web 默认端口为9000,打开 http://localhost:9000
    9.SonarQube-home.png

建立java maven项目并分析

  • 立项
  • 生成项目token
  • 拷贝如下脚本并修改对应token到项目的本地目录上执行
    mvn sonar:sonar \
    -Dsonar.projectKey=projectName \
    -Dsonar.host.url=http://localhost:9000 \
    -Dsonar.login=97b80b3511737e36bbb09ef6a30113f34fbe6db2
    
  • 分析结果如下


    9.SonarQube-check.png

你可能感兴趣的:(持续集成 SonarQube 安装体验)