sonar

sonar简介

代码质量管理平台

demo:开源中国代码质量分析

安装

依赖环境

  • java 下个rpm包安装,能执行java version基本就ok

  • mysql

下载

sonarqube

sonar-runner

解压到/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

成功后回到平台刷新下就可以看到分析结果了

web64