说明:sonar依赖数据库.

mysql优化

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

[root@localhost 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=
# 修改默认的编码为utf8
default-character-set=utf8
# 修改默认的存储引擎为InnoDB
default-storage-engine=InnoDB
# 这个参数主要作用是缓存innodb表的索引,数据,插入数据时的缓冲
innodb_buffer_pool_size = 256M
# 配置查询缓存的大小
query_cache_size=128M
# 启动mysql高速缓存
query_cache_type= [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
2、重启mysql服务
[root@localhost bin]# service mysqld restart
Stopping mysqld: [ OK ]
Starting mysqld: [ OK ]

sonar安装和部署

1、sonar部署

[root@localhost local]# pwd
/usr/local
[root@localhost local]# unzip sonarqube-4.5..zip
修改sonar配置文件
[root@localhost conf]# pwd
/usr/local/sonarqube-4.5./conf
[root@localhost conf]# vim sonar.properties
sonar.jdbc.username=root
sonar.jdbc.password=
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=

创建sonar数据库依赖

create database sonar default character set utf8;

2、利用nginx反响代理

upstream配置

upstream tomcat_tools.sonar.local {
server 127.0.0.1: weight= max_fails= fail_timeout=300s;
}
server {
listen ;
server_name tools.sonar.local.com;
root /usr/local/sonarqube-4.5./web/;
access_log /usr/local/sonarqube-4.5./logs/tools.sonar.local.com_access.log main;
error_log /usr/local/sonarqube-4.5./logs/tools.sonar.local.com_error.log warn;
error_page /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
[root@localhost domains]# service nginx restart

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

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

4、启动sonar

[root@localhost linux-x86-]# pwd
/usr/local/sonarqube-4.5./bin/linux-x86-
[root@localhost linux-x86-]# ls
lib sonar.sh wrapper
[root@localhost linux-x86-]# ./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></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]

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

  1. 代码质量检测-Sonar

    一. Sonar简介 sonarqube系统是一个代码质量检测工具 由以下四个组件组成(https://docs.sonarqube.org/display/SONAR/Architecture+an ...

  2. 代码质量检测(SonarQube)整合中文版+阿里P3C

    代码质量检测(SonarQube)整合中文版+阿里P3C 简介 SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码异味.它可以与您现有的工作流程集成,以便在项目分支和拉取请求之 ...

  3. Docker 搭建代码质量检测平台 SonarQube

    开始搭建 1.获取 postgresql 的镜像 $ docker pull postgres 2.启动 postgresql $ docker run --name db -e POSTGRES_U ...

  4. 【转】使用sonar为你的代码质量保驾护航

    一. 简介Sonar是一个用于代码质量管理的开放平台,相信大家都不会陌生.Sonar可以集成不同的测试工具,代码分析工具,以及持续集成工具.官方网站https://www.sonarqube.org ...

  5. PHP 代码质量检测工具的安装与使用

    代码统计工具 PHPLOC安装:wget https://phar.phpunit.de/phploc.phar chmod +x phploc.phar sudo mv phploc.phar /u ...

  6. 基于docker-compose搭建sonarqube代码质量检测平台

    一.需求 在我们开发的过程中,难免有时候代码写的不规范,或存在一些静态的bug问题,这个时候一个良好的代码检查工具就很有必要,而sonarqube正好可以满足整个要求. 二. docker-compo ...

  7. 推荐个Java代码质量检测的利器 —— FindBugs

    一.下载 插件的下载地址(sourceforge):FindBugs-Eclipse插件 二.安装 Eclipse插件的安装,就不多说了. 三.使用 1.找一个Project,选中它(也可以针对某个P ...

  8. jenkins+sonarqube进行代码质量检测

    JavaNeverGiveUp教程篇 用jenkins+sonarqube去检查代码是非常方便的,它能检查出代码中可能存在的一些问题,比如io流未关闭.空指针异常.死循环.代码不规范等问题. 1. 搭 ...

  9. 从0到1一步步搭建代码质量检测系统~iOS

    演示环境:Mac OSX10.12.2 Xcode8 先瞄一眼最终成果- 1.JDK,DBMS(演示环境使用Mysql) 2.创建sonar数据库和用户 mysql -u root -pCREATE ...

随机推荐

  1. asp.net 文件批量移动重命名

    最近闲时写了个批量移动重命名文件的工具 点击下载工具

  2. 如何使用grunt工具

    本文来源于同事的笔记,也是在网上查找的资料,记录分析的特别详细,对初学者来说简直不能再通俗易懂了,感谢原作者! 1.前言 选择Grunt原因 管理我们的文件依赖 随心所欲的批处理任务 整合常用的前端工 ...

  3. 第37讲:List的foldLeft、foldRight、sort操作代码实战

    其实flodLeft和foldRight就是折叠操作,我让们看下下列的函数 折叠操作    def sum(xs:List[Int]):Int = ( 0 /: xs)(_ +_)     def p ...

  4. Ascii Design 1.0.2,好玩的 ASCII 字符设计工具

    Ascii Design 1.0.2 可检查系统是否已安装 figlet 包(对非 Windows 用户),对代码做了一些改进,修复了使用 Qt 4.8.x 时的编译警告信息. Ascii Desig ...

  5. elixir 高可用系列(五) Supervisor

    概述 OTP 平台的容错性高,是因为它提供了机制来监控所有 processes 的状态,如果有进程出现异常, 不仅可以及时检测到错误,还可以对 processes 进行重启等操作. 有了 superv ...

  6. centos7 安装 notejs

    1.安装集成工具 yum -y install gcc make gcc-c++ 2.安装notejs 自行选择版本:https://nodejs.org/dist/ wget https://nod ...

  7. 深入理解java虚拟机【内存溢出实例】

    通过简单的小例子程序,演示java虚拟机各部分内存溢出情况: (1).java堆溢出: Java堆用于存储实例对象,只要不断创建对象,并且保证GC Roots到对象之间有引用的可达,避免垃圾收集器回收 ...

  8. [外挂8] 自动挂机 SetTimer函数

    >_< : 这里用SetTimer函数自动运行![注意添加在里面的回掉函数函数] UINT SetTimer( HWND hWnd, // 指向窗口句柄 UINT nIDEvent, // ...

  9. 云端持续集成——AppVeyor拥抱GitHub

    想着你正在做一个网站 终于大功告成了,提交了代码后,你按下了开发环境的Build菜单,一杯咖啡后,Build Succeed,然后连接服务器,开始部署 当你乐滋滋的享受着你的开发成果时,突然发现了一个 ...

  10. DataGridView绑定复杂实体(属性本身又是实体)

    今天我们来讨论下一个实体中某个属性又是实体的类型的集合绑定到DataGridView上的问题. 先来写一个Student类 public class Student { public int Stud ...