sonar简介
代码质量管理平台
demo:开源中国代码质量分析
安装
依赖环境
-
java 下个rpm包安装,能执行java version基本就ok
-
mysql
下载
解压到/usr/local目录下
/usr/local/sonarqube
/usr/local/sonar-runner
创建数据库
执行以下sql语句创建数据库
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;
修改配置
选择mysql相关配置去掉注释
cd /usr/local/sonarqube/conf
vi sonar.properties
//去掉注释
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatem ents=true&useConfigs=maxPerformance
//修改端口,避免和php-fpm端口冲突
sonar.web.host=127.0.0.1
sonar.web.port=9010
cd /usr/local/sonar-runner/conf
vi sonar-runner.properties
//选择使用下面的配置
sonar.host.url=http://localhost:9010
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.sourceEncoding=UTF-8
sonar.login=admin
sonar.password=admin
环境变量
vi /etc/profile
export PATH="/usr/local/sonarqube/bin:$PATH"
export PATH="/usr/local/sonar-runner/bin:$PATH"
启动
cd /usr/local/sonarqube/bin/linux-x86-64
./sonar.sh start
//查看是否启动
ps aux | grep "sonar"
配置nginx
监听9010端口
server
{
listen 80;
server_name sonar.xxx.com;
index index.html index.htm index.php default.html default.htm default.php;
expires off;
charset utf-8;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://127.0.0.9010;
proxy_redirect off;
}
}
本地加hosts,访问sonar.xxx.com
登录默认用户密码 admin admin
插件安装
登录后配置-更新中心-Available Plugins,在线安装一般超时,建议下载到插件安装目录,再重启sonar
需要两个插件,中文语言插件和php插件
插件安装目录
/usr/local/sonarqube/extensions/plugins
sonar-findbugs-plugin-2.4.jar
sonar-java-plugin-2.4.jar
sonar-l10n-zh-plugin-1.8.jar
sonar-php-plugin-2.4.jar
代码分析
进入源码目录
新建文件sonar-project.properties
,输入以下信息
sonar.projectKey=mc:activity
sonar.projectName=mcactivity
sonar.sources=app
sonar.projectVersion=1.0
sonar.sourceEncoding=UTF-8
sonar.language=php
注:sonar.projectName
项目名,sonar.sources
分析目录,sonar.projectVersion
版本号
执行sonar-runner
成功后回到平台刷新下就可以看到分析结果了