一、前提条件:
linux基本操作基础,一个已安装的关系数据库
系统要求:
Oracle JRE:7u75+
OpenJDK:7u55+
MySQL:5.1和5.5,SonarQube3.5+支持MySQL5,4.4支持MySQL 5.7
浏览器:IE11+,Chrome或Firefox
系统内存1GB以上
配置环境:CentOS 7为例,其他linux版本类似
二、执行sample分析
1. 下载并解压 SonarQube-5.3,假设它在/etc/sonarqube下
2. 启动SonarQube服务器
执行 /etc/sonarqube/bin/[OS]/sonar.sh start
可以看到执行成功提示,
执行 /etc/sonarqube/bin/[OS]/sonar.sh status可以查看sonarqube服务器的启动状态。
3. 下载并解压SonarQube Scanner,假设放在/etc/sonar-runner。runner是运行分析的客户端。分析项目时会用到它。
4. 下载并解压待分析的工程实例,假设放在/etc/sonar-examples
5. 分析一个java示例项目
$ cd /etc/sonar-examples/projects/languages/java/sonar-runner/java-sonar-runner-simple
$ /etc/sonar-runner/bin/sonar-runner
6. 打开http://localhost:9000就可以查看分析结果了。(默认的系统管理员账号是:admin/admin)
7.
三、数据库配置
SonarQube默认使用H2内存数据库,建议配置为关系数据库,如Mysql,SQL Server或Oracle。
注意:数据库的字符集必须是UTF-8,语言是英语,Mysql数据库中必须使用InnoDB存储方式。
以本地MySQL为例,新建数据库sonar,引擎InnoDB rpm方式安装MySQL教程
编辑 /etc/sonarqube/conf/sonar.properties文件
解除注释并填写实际值:
sonar.jdbc.username=[数据库用户名]
sonar.jdbc.password=[数据库密码]
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
执行 /etc/sonarqube/bin/[OS]/sonar.sh restart 重启sonarqube即可。
四、解析sonar-project.properties
在第二步中我们分析了一个简单的项目,可以看到在项目根目录/etc/sonar-examples/projects/languages/java/sonar-runner/java-sonar-runner-simple中有一个sonar-project.properties文件,它就是分析项目了依据了,在分析一个项目时,可以通过指定runner的参数来设置分析路径,也可以通过sonar-project.properties文件指定,建议使用后者。在这个文件里可以指定分析的语言,源文件的路径等。
sonar.projectKey=org.sonarqube:java-simple-sq-scanner #项目key,在SonarQube中必须是唯一的
sonar.projectName=Java :: Simple Project Not Compiled :: SonarQube Scanner #用于展示的项目名称
sonar.projectVersion=1.0 #版本
# Comma-separated paths to directories with sources (required)
sonar.sources=src #源文件路径,该路径是相对于当前路径的
# Language
sonar.language=java #分析语言java
# Encoding of the source files
sonar.sourceEncoding=UTF-8 #源文件编码
五、插件安装
登录SonarQube管理控制台,Administrator -> System-> Update Center -> Avaliable
在这里可以找到所有sonar支持语言的插件,装完插件之后重启sonar就行了。