1 简介
SonarQube 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。
2. 安装准备
1)SonarQube 的版本多,需要提前注意一下,选择合适的版本。从 http://www.sonarqube.org/downloads/ 中看到,当前SonarQube有5.6的长期支持版本和SonarQube 6.1 的新版本,但5.6和6.1的代码可能差别不是特别大,有些bug两个版本都被修复的。
2)无论你选择哪个版本,都依赖于Java1.8和MySQL5.6 以上的版本(如果你想用起来的话)。
Java下载JDK包即可,MySQL的下载从官方网站上下载
3. 安装
1)安装Java
解压即可用,设置JAVA_HOME
export JAVA_HOME="/search/env/jdk"export PATH=$PATH:/sbin:$JAVA_HOME/bin/export CLASSPATH=./:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
2)安装MySQL
参考上一篇文章,安装好后,设置sonar用的用户名和数据库
create user 'sonar'@'localhost' identified by 'sonar@2016';CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;grant all privileges on sonar.* to 'sonar'@'localhost';
3)安装SonarQube
本文选用的是5.6.3版本的,解压到本地即可,修改conf,
sonar.jdbc.username=sonarsonar.jdbc.password=sonar@2016sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false#可以用默认的,不修改sonar.web.host=192.0.0.1sonar.web.port=80sonar.web.context=/sonar
三个需要注意的地方,后面参数不用有引号,添加useSSL=false参数能够避免SSL报错。
context的意思是,寻访的path,如上面的配置访问的url就是
http://192.0.0.1:80/sonar
启动服务
sonarqube/bin/linux-x86-64/sonar.sh start
访问url,用管理员(admin/admin)账号登陆,找到插件中心(被隐藏得有些深),安装中文插件包和升级其它插件。
如果没有网络,可以将对应的jar下载下来,放到extensions/plugins下,重启服务即可,plugin有问题的话,可能启动不起来,
看下log/sonar.log查看错误日志即可。
4. 安装 sonar-scanner
SonarQube是一个UI,还需要其他工具的配合,其中sonar-scanner就是重要的一个。
参考文献
http://jaminzhang.github.io/ci/cd/Sonar-Installation/