前言: sonar为代码质量管理工具,可以有规则的查找出代码中的“瑕疵”,而且以插件的形势集成了CheckStyle、findbugs等流行的代码审查工具。 一、下载 此处使用SonarQube 6.7.x LTS版,相关组件要求如下:
组件版本要求Oracle JDK、OpenJDK必须JDK8(不兼容7、9)MySQL5.6、5.7(必须UTF-8、InnoDB)Maven必须3.5.0及以上更具体要求参考: https://docs.sonarqube.org/display/SONARQUBE67/Requirements Sonar下载地址: https://www.sonarqube.org/downloads/ 下载完成后,直接解压使用,sonar内嵌jetty可直接启动使用。 二、配置 1、新建数据库 sonar需要将数据写入数据库,此处使用MySQL5.7,只需建立一个数据库即可,无需手动创建表格,此处创建的数据库名称如下:pdt_sonar, 有关创建数据库的相关链接: https://dev.mysql.com/doc/refman/5.7/en/create-database.html 2、修改sonar配置文件 修改$SONAR_HOME/conf/sonar.properties文件:
# 修改数据库 sonar.jdbc.username=xxx sonar.jdbc.password=xxx sonar.jdbc.url=jdbc:mysql://localhost:3306/pdt_sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false # 修改运行时内存参数 sonar.web.javaOpts=-Xmx512m -Xms256m # 修改端口及context sonar.web.host=0.0.0.0 sonar.web.context=/sonar sonar.web.port=38000修改完成后,保存。 然后使用$SONAR_HOME/bin/下相应平台下启动脚本启动,如windowsx64使用bin/windows-x86-64/StartSonar.bat启动,启动后进入首页:http://127.0.0.1:38000/sonar/about ,点击登录,默认账号密码为:admin/admin。 三、添加额外插件 sonar通过插件提供额外功能,除默认插件外,建议添加如下插件(登录之后点击顶部Administration->Marketplace): Checkstyle、Chinese Pack、Findbugs、SonarJava、SonarXML、YAML Analyzer; 添加完成,重启使用。 四、为Maven项目使用sonar sonar使用扫描器扫描代码,然后发送至sonar进行分析,对于maven项目提供插件方便执行,sonar6.7.x要求maven版本至少3.5.0以上,maven配置如下: 1、修改setting.xml,添加扫描获取的数据将要发送的sonar服务器地址:
<settings> <pluginGroups> <pluginGroup>org.sonarsource.scanner.maven</pluginGroup> </pluginGroups> <profiles> <profile> <id>sonar</id> <activation> <activeByDefault>true</activeByDefault> </activation> <properties> <sonar.host.url> http://127.0.0.1:38000 </sonar.host.url> </properties> </profile> </profiles> </settings>2、为maven项目执行以下命令:
mvn clean verify sonar:sonar具体参考:https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner+for+Maven 其他扫描方式参考:https://docs.sonarqube.org/display/SCAN 五、修复问题 扫描完车后,进入sonar页面,查看问题 代码进行修复,修复完后后,重新扫描确认修复效果。