sonar的安装与代码质量检测实例

说明:sonar依赖数据库.

mysql优化

1、笔者使用的是mysql数据库.首先对mysql做简单的优化配置.

[[email protected] bin]# cat /etc/my.cnf
[mysqld]
max_allowed_packet=10M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# 修改默认的编码为utf8
default-character-set=utf8
# 修改默认的存储引擎为InnoDB
default-storage-engine=InnoDB
# 这个参数主要作用是缓存innodb表的索引,数据,插入数据时的缓冲
innodb_buffer_pool_size = 256M
# 配置查询缓存的大小
query_cache_size=128M
# 启动mysql高速缓存
query_cache_type=1

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
2、重启mysql服务
[[email protected] bin]# service mysqld restart
Stopping mysqld:                                           [  OK  ]
Starting mysqld:                                           [  OK  ]

sonar安装和部署

1、sonar部署

[[email protected] local]# pwd
/usr/local
[[email protected] local]# unzip sonarqube-4.5.4.zip
修改sonar配置文件
[[email protected] conf]# pwd
/usr/local/sonarqube-4.5.4/conf
[[email protected] conf]# vim sonar.properties
sonar.jdbc.username=root
sonar.jdbc.password=123456
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
sonar.web.javaOpts=-Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError
sonar.web.host=0.0.0.0
sonar.web.port=9000

创建sonar数据库依赖

create database sonar default character set utf8;

2、利用nginx反响代理

upstream配置

upstream tomcat_tools.sonar.local {
        server 127.0.0.1:9000  weight=10 max_fails=2 fail_timeout=300s;
}
server {
        listen                   80;
        server_name              tools.sonar.local.com;
        root                     /usr/local/sonarqube-4.5.4/web/;
        access_log               /usr/local/sonarqube-4.5.4/logs/tools.sonar.local.com_access.log main;
        error_log                /usr/local/sonarqube-4.5.4/logs/tools.sonar.local.com_error.log warn;
        error_page          403 404 /40x.html;

        location / {
            index index.html index.htm;
            proxy_next_upstream     http_500 http_502 http_503 http_504 error timeout invalid_header;
            proxy_set_header        Host  $host;
            proxy_set_header        X-Real-IP        $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass              http://tomcat_tools.sonar.local;
            expires                 0d;
        }
}
增减配置完成后,重启nginx
[[email protected] domains]# service nginx restart

3、修改防火墙开放9000端口

-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000 -j ACCEPT

4、启动sonar

[[email protected] linux-x86-64]# pwd
/usr/local/sonarqube-4.5.4/bin/linux-x86-64
[[email protected] linux-x86-64]# ls
lib  sonar.sh  wrapper
[[email protected] linux-x86-64]# ./sonar.sh start
Starting SonarQube...
Started SonarQube.

5、访问tools.sonar.local.com

6、登录sonar[默认账号admin/admin]安装汉化包

Settings/SYSTEM/Update Center/Available Plugins

选择汉化包,汉化完成之后需要重新启动.

项目代码提交sonar检测代码质量

1、在maven本地仓库的settings.xml中 <profiles>节点之间增加如下内容

<profiles>
      <profile>
          <id>sonar</id>
          <activation>
              <activeByDefault>true</activeByDefault>
          </activation>
          <properties>
              <sonar.jdbc.url>
                  jdbc:mysql://192.168.147.129:3306/sonar?useUnicode=true&amp;characterEncoding=utf8
              </sonar.jdbc.url>
              <sonar.jdbc.driver>com.mysql.jdbc.Driver</sonar.jdbc.driver>
              <sonar.jdbc.username>root</sonar.jdbc.username>
              <sonar.jdbc.password>123456</sonar.jdbc.password>
              <sonar.host.url>http://tools.sonar.local.com</sonar.host.url>
          </properties>
      </profile>
  </profiles>

或者直接在应用项目的总pom中增加如上内容.区别是前者为所有项目增加,后者只是针对单个项目配置.

2、创建mvn命令
3、执行命令,查看sonar控制面板的项目如图,为刚才的项目接入到sonar检测上的情况.点击查看该代码的质量情况.

转载请注明出处:[http://www.cnblogs.com/dennisit/p/4546245.html]
时间: 2024-10-25 13:05:38

sonar的安装与代码质量检测实例的相关文章

基于docker搭建sonar代码质量检测平台

最近有点忙,好久不写博文了,今天听一个同事说之前他们的代码review都是人工来弄的,这多累,于是我赶紧搭建一个sonar代码质量检测平台给大家用用 docker环境搭建什么的就不说了.网上很多,直接上核心命令 第一条是docker 运行一个pgsql 第二条是docker 运行一个sonar docker run -d --name pgdb -e POSTGRES_USER=sonar -e POSTGRES_PASSWORD=sonar -v /data/pgdata:/var/lib/p

IDEA中关闭sonar代码质量检测

笔者在IDEA中禁用了SonarLint等各种配置,还是无效,后来在网上找到说是插件的bug, There was a bug in SonarLint for IntelliJ that prevented the configuration to be properly saved. It was fixed in the latest version 2.3.2: https://jira.sonarsource.com/browse/SLI-106 About the performan

代码质量工具

1.质量分析工具 1.1 Sonar Sonar是一个管理代码质量的开放平台.因此,它涵盖了代码质量的7个方面:架构与设计.重复.单元测试.复杂性.潜在错误.编码规则.评论 1.2 findbug FindBug  http://findbugs.sourceforge.net FindBug是一个使用静态方法来查找Java代码漏洞的程序. 1.3 checkStyle 1.4 核心代码注释率测试工具 核心代码注释率测试工具(下载地址:http://yunpan.cn/cZCVZfXwXLsse

Java代码质量监控工具Sonar安装

1.  代码质量七宗罪 Sonar是一个代码质量管理系统,它的帮助文档开篇明义,提出了代码质量的七宗罪,总结的比较到位,不妨一看: 1.        Bug和隐藏Bug(Bugs and Potential Bugs) 2.        违反编码规范(Coding Standards Breach) 3.        复制粘贴(Duplications) 4.        缺乏单元测试(Lack of Unit Tests) 5.        恶劣的复杂度分布(Bad Distribu

用Sonarqube检查和度量代码质量——安装sonarqube

以前关注点一直在怎么提高应用程序的质量,没太在意代码级别的质量.最近因为某些因素的推动,需要关注到代码级别的质量去,把质量工作尽量往前推,也符合质量控制的原则.  试用了一下sonarqube(老版本的叫sonar,ww.sonarqube.org),对代码的提升的确有很多的作用,sonarqube能从7个维度来对代码质量进行度量.多大的作用,大家实践下就很容易看出来.尤其是建议大家把rules里面的说明和例子都好好看看,对以后自己写代码的时候,质量提高有很大好处. Sonarqube安装:  

一小时写给同组的如何使用工具检测代码质量

因为要做个小项目,同组的同事都比较年轻,为了规范下代码,因此简单的写了下怎么提高代码质量,分享一下: 在接口不通的情况下进行单元测试 使用Mockito, 如果获取余额部分代码为: public class PayServiceImpl implements PayService { private BizPayService bizPayService; @Override public BigDecimal getBalance(String pin) { try { return bizP

ant+sonar+jacoco代码质量代码覆盖率扫描

使用ant构建的java web项目如何做sonar代码质量扫描?以下就是实际遇到并成功使用的案例一.做sonar扫描的准备工作    1.给web项目增加build.xml构建脚本.    2.下载jar包:jacocoant.jar:sonar-ant-task-2.2.jar    3.搭建一个sonar服务器二.在build.xml中编写jacoco和sonar的脚本 案例的build.xml脚本 <?xml version="1.0" encoding="UT

安装并使用CheckStyle/PMD与FindBug &amp;&amp; 安装并使用SourceMonitor检测代码复杂度

一.安装并使用CheckStyle  (一)安装 (1) 首先从官网上下载net.sf.eclipsecs-updatesite_6.5.0.201504121610-bin 并解压chekstyle中的文件. (2)然后解压checkstyle文件中的压缩文件,将里面的两个文件夹plugins和 features下面的文件分别拷贝到eclipse目录下面对应的plugins和features目录,重启eclipse. (3)Eclipse中,选择Windows->Preferences->c

开发人员学Linux(10):CentOS7安装配置代码质量管理平台SonarQube6.4

1.前言上一章讲述了如何配置使用源代码管理工具SVN并使之与Apache集成,从而实现代码的变更可追溯,虽然在大多数团队里强调代码提交之前必须找团队中经验丰富的人来审核通过后方可提交,但这一条有时候不是所有时候都能得到满足,有没有依赖于机制而不是人来保证代码质量呢,我们知道计算机的缺点也是优点之一就是可以忠实执行指令.答案是有的,那就是SonarQube,其官方网址为:https://www.sonarqube.org/,目前最新版本为6.4.SonarQube是一个开源平台,用于管理源代码的质