乐趣区

个人学习系列-SonarQube的简单使用

最近对 SonarQube 进行了一点学习,从网络上查询了很多的文章,然后自己又进行了各种实践,终于成功的实现了代码扫描。

SonarQube 的安装

SonarQube 下载

首先我们需要去 SonarQube 的官网进行下载,我这里下载的是最新的版本 8.0,当然自己按照自己的喜好进行版本的下载即可:

安装嘛根本就没有了,直接找个位置解压缩就可以了。

SonarQube 运行

找到自己的系统版本运行对应的 StartSonar.bat:


运行界面如下:

这时可以看一下 http://localhost:9000 这个地址页面了:
当然我之前运行过了,所以可能和你们显示的不太一样,不过没关系,能显示信息就可以了:

然后我们可以登录,用户名和密码就是 admin,admin.

如果你对英语不是很敏感的话,那就可以用到接下来的汉化教程了:
按照步骤进行操作:

安装完毕后点击重启即可:

等一会会让你再次登录,然后就变成汉语啦:

还有就是需要特别注意以下几个点:

  1. 不知道从那个版本开始 SonarQube 就不支持 mysql 了,这个比较坑,不过还有 oracle 和 postgresql 可以用,我这边用的都是 postgresql,毕竟免费的。
  2. SonarQube 对 jdk 也是有要求的,要求 jdk11+,我这边安装的就是 jdk11 完美运行,别的没有试过。

SonarQube 重启

在 window 没有办法通过命令进行 SonarQube 的停止或者重启,只能粗暴的停止进程,然后再次运行 StartSonar.bat:

SonarQube 的配置

sonar 配置

找到 SonarQube 里面 config 文件夹下面的 sonar.properties 配置文件,进行数据库信息的配置:

sonar.jdbc.username= 用户名
sonar.jdbc.password= 密码
sonar.jdbc.url=jdbc:postgresql://localhost:5432/sonarqube

maven 配置

因为我这里是扫描的 maven 工程,所以需要在 maven 配置文件中进行相关的设置:

<profile>
   <id>sonar</id>
   <activation>
     <activeByDefault>true</activeByDefault>
   </activation>
   <properties>
     <sonar.jdbc.url>
            jdbc:postgresql://localhost:5432/sonarqube
     </sonar.jdbc.url>
     <sonar.jdbc.driver>org.postgresql.Driver</sonar.jdbc.driver>
     <sonar.jdbc.username> 用户名 </sonar.jdbc.username>
     <sonar.jdbc.password> 密码 </sonar.jdbc.password>
     <sonar.host.url>http://localhost:9000</sonar.host.url>
   </properties>
 </profile>
 
  </profiles>

配置完毕之后需要根据之前说的那样将 SonarQube 重启。

maven 工程扫描

扫描 maven 工程

上面已经配置好了 maven 环境变量,然后在需要扫描的项目路径下执行以下 maven 命令,即可扫描项目代码:

mvn clean verify sonar:sonar


会执行很多东西,等到执行完毕之后就可以去 http://127.0.0.1:9000/sonar 查看了:


好了就是这样了。。。

IDEA 里面集成 sonar

安装 SonarLint 插件即可:

在 IDEA 的左下角就会出现这个了,可以查看代码的问题

说实话,感觉没有阿里巴巴的代码扫描好用,个人见解。。。

关于 SonarQube 的升级

刚才 SonarQube 发布了 8.0 版本,我之前是 7.9.1 版本,本着能用就用最新的理念。我就下载并替换了 8.0 版本,可是启动的时候出现了:

SonarQube is under maintenance. Please check back later.
Whilst waiting, you might want to check new plugins to extend the current functionality.
If you are an administrator and have no idea why this message is showing, you should read the upgrade guide

这里表示很懵 B 呀,于是百度到升级方法就是:
http://127.0.0.1:9000/setup 按照提示更新下 SonarQube 就可以啦,当然地址肯定要是你自己的地址了。

退出移动版