sonar是一个代码检查和报表集中展示的工具,使用sonar,首先需要安装一个sonar服务器。
安装Sonar服务
1. 安装Mysql数据库
1.1 yum install MySQL-server -y
1.2 mysql -uroot -p
DROP DATABASE sonar;
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
FLUSH PRIVILEGES;
2. 安装sonar
2.1 cd /opt
wget http://dist.sonar.codehaus.org/sonarqube-4.3.1.zip
unzip sonarqube-4.3.1.zip
ln -s sonarqube-4.3.1 sonar
2.2 vi /opt/sonar/conf/sonar.properties
sonar.web.port=80
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
3. 配置jenkins
Sonar可以配合jenkins持续集成系统使用,让jenkins的job自动与sonar服务器建立联系,实现自动的代码分析和报表输送。
3.1 安装最新的 jenkins系统
3.2 为jenkins安装 sonar 插件
3.3 配置jenkins sonar
3.4 配置jenkins sonar runner
[sonar 配置实例]
jdbc:mysql://10.224.37.163:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
sonar
sonar
com.mysql.jdbc.Driver
4. 创建 jenkins job
4.1 在jenkins创建一个job.
4.2 增加一个新的 "Build Step" - "invoke standalone sonar analysis"
4.3 在config 里面填入 "Project properties"
[sonar runner 配置实例]
sonar.projectKey=csgias-key
sonar.projectName=csgias
sonar.projectVersion=1.0
sonar.sources=src/main/java
*projectKey是自定义的项目关键字,告诉sonar服务器你的项目标识符。projectName是项目的显示名称。projectVersion是版本。这三项都是自定义的。
sonar.sources指定要分析的代码位置,是相对于jenkins的workspace目录。例子中已经使用subversion将代码下载到当前的工作目录,代码目录下是src/main/java这样的结构。
4.4 保存并执行job,sonar runner会从sonar服务器拉取规则,然后分析sonar.sources指定的目录下的代码,然后将结果推送到sonar服务器。
5. 配置sonar服务器上的LDAP authentication
5.1 安装LDAP plugin
5.2 配置 sonar properties
#vi [sonar.home]/conf/sonar.properties
加入以下行:
#----------------------
# LDAP authentication
|