SonarQube是管理代码质量一个开放平台,可以快速的定位代码中潜在的或者明显的错误。
先介绍一下SonarQube检查功能:
1,不遵守代码标准(checkstyle)
2,潜在缺陷(空指针)
3,糟糕的复杂度(难以理解)
4,重复(通用的方法需要归纳封装)
5,糟糕的注释
7,糟糕的设计(耦合度检查)
①、jdk(版本jdk-8u191-linux-x64.rpm)
②、sonarqube:https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-6.7.7.zip
③、sonar-scanner :https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-linux.zip
④、mysql数据库(版本5.7,安装参考https://www.cnblogs.com/lina-2159/p/13440303.html)
1)jdk安装过程省略。
2)配置mysql5.7,在mysql中执行如下脚本创建数据库及mysql用户
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER ‘sonar‘ IDENTIFIED BY ‘sonar‘; GRANT ALL ON sonar.* TO ‘sonar‘@‘%‘ IDENTIFIED BY ‘WWW.2.com‘; GRANT ALL ON sonar.* TO ‘sonar‘@‘localhost‘ IDENTIFIED BY ‘WWW.2.com‘; FLUSH PRIVILEGES;
3)sonarqube安装
# unzip sonarqube-6.7.7.zip -d /usr/local/
# cd /usr/local/
# ln -s sonarqube-6.7.7/ sonarqube
②新增sonar用户,给sonar目录授权
# useradd sonar # chown -R sonar.sonar /usr/local/sonarqube-6.7.7/
③编辑配置文件
# vim /usr/local/sonarqube/conf/sonar.properties
sonar.jdbc.username=sonar sonar.jdbc.password=WWW.2.com sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
④以sonar用户启动sonarqube
# su - sonar -c ‘/usr/local/sonarqube/bin/linux-x86-64/sonar.sh start‘
⑤访问http://172.16.68.154:9000,出现一下界面,则安装完成。初始用户/密码:admin/admin
⑥新建项目
4)下载插件,配置-->应用市场。不过在线下载超级慢,建议需要什么插件自行去下载。
汉化插件:sonar-l10n-zh-plugin-1.19.jar ,
连接gitlab插件:sonar-gitlab-plugin-3.0.2.jar,
扫码java代码插件:sonar-java-plugin-4.10.0.10253.jar 等等
下载地址:https://github.com/SonarSource
替换安装插件:把下载的插件替换到目录/usr/local/sonarqube/extensions/plugins,完成之后重启sonarqube即可。
5)安装客户端扫描工具sonar-scanner
①将下载的包sonar-scanner-cli-3.3.0.1492-linux.zip解压
# unzip sonar-scanner-cli-3.3.0.1492-linux.zip -d /usr/local/
# ln -s /usr/local/sonar-scanner-3.3.0.1492-linux/ /usr/local/sonar-scanner
②加入环境变量
# vim /etc/profile
export PATH=$PATH:/usr/local/sonar-scanner/bin
# source /etc/profile
③使用sonar-scanner提交代码检测
# sonar-scanner -Dsonar.projectKey=java -Dsonar.sources=. -Dsonar.host.url=http://192.168.1.103:9000 -Dsonar.login=13585323c4c8ac257c590d6e49c7b59dda5192f8
原文:https://www.cnblogs.com/lina-2159/p/13470698.html