系统环境:
已安装JAVA环境
已安装有MySQL数据库(新建一个db,用于存储sonarqube数据)

1, 进入官网下载相应的sonarqube安装包。

链接:https://www.sonarqube.org/

SonarQube docker compose安装 sonarqube配置规则_测试用例

SonarQube docker compose安装 sonarqube配置规则_sonar_02


这里有很多版本可供选择,我这里选UE7.7版本。

2, 安装配置

Sonarqube不需要安装,下载后解压,然后cp到一个安装目录即可

cp -rf sonarqube-7.7 /Users/baomw/app

这里我放到我本地的/Users/baomw/app目录下

SonarQube docker compose安装 sonarqube配置规则_sonarqube_03


3, 使用配置

Cd conf/

SonarQube docker compose安装 sonarqube配置规则_规范_04


可以看到下面有两个配置文件;sonar.properties wrapper.conf

sonar.properties :sonarqube核心配置文件,db,login,logging,ldap,server,es等等

wrapper.conf:java环境变量相关配置文件,用默认即可

我们需要配置sonar.properties 相关配置,具体需要配置项如下(可根据需要扩展):
DATABASE
(备注:目前支持的数据库有MySQL >=5.6 && <8.0,Oracle 11g/12c,PostgreSQL 9.3 or greater,Microsoft SQLServer 2014/2016/2017 and SQL Azure,Sql Server)
sonar.jdbc.username=root //用户
sonar.jdbc.password=1234 //密码
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false //jdbc驱动
WEB SERVER
sonar.web.port=9000 //web访问端口
sonar.login=admin //访问用户
sonar.password=admin //访问密码
sonar.sorceEncoding=UTF-8 //web的编码
LOGGING
sonar.log.level=INFO //全局日志级别,可不同组件分别设置
sonar.path.logs=logs. //日志路径

4, 服务起停

进入目录,sonarqube-7.7/bin

SonarQube docker compose安装 sonarqube配置规则_代码扫描_05


可以看到改版本支持我们三个系统的使用:

linux-x86-64

macosx-universal-64

windows-x86-64

我们直接进入:macosx-universal-64 执行如下操作命令起停即可:

./sonar.sh start 启动服务

./sonar.sh stop 停止服务

./sonar.sh restart 重启服务

SonarQube docker compose安装 sonarqube配置规则_规范_06


执行启动命令,见到Started SonarQube.说明SonarQube已经启动了

ps -ef|grep sonar 可以通过这个命令查一下进程

也可以查一下启动日志,没有报错即可 :tail -f xxx 命令

登陆:http://localhost:9000/ 看到如下登陆页面就ok

SonarQube docker compose安装 sonarqube配置规则_代码扫描_07


配置中文插件(这一步,CETxxx的大佬可以忽略)

SonarQube docker compose安装 sonarqube配置规则_sonarqube_08


对着如上步骤,找到插件配置项,找到Chinese Pack即可

SonarQube docker compose安装 sonarqube配置规则_sonarqube_09


如上,install完了之后,就提示你restart,直接restart即可

SonarQube docker compose安装 sonarqube配置规则_sonarqube_10


如上说明中文插件安装好了5,整合maven实现代码扫描

代码扫描规则

SonarQube docker compose安装 sonarqube配置规则_规范_11


我门这边可以直接使用默认Quality Profile即可,这先基本上可以满足这边的开发需求。

整合maven需在maven的settings.xml中增加如下配置,即我们的jdbc驱动,数据库用户密码以及相关的sonar.host.url链接

<profile>
    <id>sonar</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
    <sonar.jdbc.url>jdbc:mysql://localhost:3306/sonarqube?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true</sonar.jdbc.url>
        <sonar.jdbc.username>root</sonar.jdbc.username>
        <sonar.jdbc.password>1234</sonar.jdbc.password>
        <sonar.host.url>http://localhost:9000</sonar.host.url>
    </properties>
</profile>

SonarQube docker compose安装 sonarqube配置规则_代码扫描_12


然后maven拉下来需要扫描的代码在idea的Terminal窗口(dos窗口一样),进入需要扫描的代码的根目录,执行命令mvn sonar:sonar

SonarQube docker compose安装 sonarqube配置规则_规范_13


SonarQube docker compose安装 sonarqube配置规则_规范_14


扫描完成后会生成一个url就是改项目扫描结果的url

点击

就可以看到具体的扫描结果了,对着修改就好了

具体参数课自己研究一下

SonarQube docker compose安装 sonarqube配置规则_sonarqube_15


如上就是SonarQube安装使用配置及maven整合的全过程了,有兴趣的大兄弟可以自己动手试试。