Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。与持续集成工具(例如 Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具结果(例如 FindBugs,PMD 等)直接显示在 Web 页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

在对其他工具的支持方面,Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse 和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。

此外,Sonar 的插件还可以对 Java 以外的其他编程语言提供支持,对国际化以及报告文档化也有良好的支持。

注意:需要至少JDK 1.8及以上版本。

1. 安装Jdk【java8】

1.1. 软件安装

 [yun@mini01 software]# pwd
/app/software
[yun@mini01 software]# tar xf jdk1..0_112.tar.gz
[yun@mini01 software]# ll
total
drwxr-xr-x Dec : jdk1..0_112
-rw-r--r-- root root Mar : jdk1..0_112.tar.gz
[yun@mini01 software]# mv jdk1..0_112/ /app/
[yun@mini01 software]# cd /app/
[yun@mini01 app]# ll
total
drwxr-xr-x Dec : jdk1..0_112
[yun@mini01 app]# ln -s jdk1..0_112/ jdk
[yun@mini01 app]# ll
total
lrwxrwxrwx root root May : jdk -> jdk1..0_112/
drwxr-xr-x Dec : jdk1..0_112

1.2. 环境变量

 [root@mini01 ~]$ pwd
/app
[root@mini01 ~]$ ll -d jdk* # 选择jdk1.
lrwxrwxrwx yun yun Mar : jdk -> jdk1..0_112
drwxr-xr-x yun yun Dec : jdk1..0_112
[root@mini01 profile.d]$ pwd
/etc/profile.d
[root@mini01 profile.d]$ cat jdk.sh # java环境变量
export JAVA_HOME=/app/jdk
export JRE_HOME=/app/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH [root@mini01 profile.d]# source /etc/profile
[root@mini01 profile.d]$ java -version
java version "1.8.0_112"
Java(TM) SE Runtime Environment (build 1.8.0_112-b15)
Java HotSpot(TM) -Bit Server VM (build 25.112-b15, mixed mode)

2. 安装Sonar

安装在了本地的mini04、10.0.0.14 机器上

2.1. 软件安装

 [yun@mini04 software]$ pwd
/app/software
[yun@mini04 software]$ wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.3.zip # 下载
[yun@mini04 software]$ unzip sonarqube-7.3.zip
[yun@mini04 software]$ mv sonarqube-7.3 /app/
[yun@mini04 software]$ cd /app/
[yun@mini04 ~]$ ln -s sonarqube-7.3/ sonarqube
[yun@mini04 ~]$ ll -d sonarqube*
lrwxrwxrwx yun yun Oct : sonarqube -> sonarqube-7.3/
drwxr-xr-x yun yun Aug : sonarqube-7.3

2.2. 准备Sonar数据库

数据库在自己的mini05机器上 【安装的MySQL5.6,而不是mariadb5.5】

因为CentOS7默认装的是mariadb5.5

 # 创建数据库
CREATE DATABASE `sonar` DEFAULT CHARACTER SET utf8 ;
# 远程授权
grant all on sonar.* to sonar@'%' identified by 'sonar';
# 本地授权 数据库在mini05机器上
grant all on sonar.* to sonar@'mini05' identified by 'sonar';
# 刷新权限
flush privileges;

2.3. 配置修改

数据库在本地的mini05机器上。

 [yun@mini04 conf]$ pwd
/app/sonarqube/conf
[yun@mini04 conf]$ ll
total
-rw-r--r-- yun yun Oct : sonar.properties
-rw-r--r-- yun yun Aug : wrapper.conf
[yun@mini04 conf]$ vim sonar.properties
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar
sonar.jdbc.url=jdbc:mysql://mini05:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance&useSSL=false
sonar.web.host=0.0.0.0
sonar.web.port=

MySQL版本最低5.6

2.4. 启动Sonar

 [yun@mini04 linux-x86-]$ pwd
/app/sonarqube/bin/linux-x86-
[yun@mini04 linux-x86-]$ ll
total
drwxr-xr-x yun yun Aug : lib
-rwxr-xr-x yun yun Aug : sonar.sh
-rwxr-xr-x yun yun Aug : wrapper
[yun@mini04 linux-x86-]$ ./sonar.sh start
Starting SonarQube...
Started SonarQube.

2.5. 问题解决

2.5.1. es问题解决

 [yun@mini04 logs]$ pwd
/app/sonarqube/logs
[yun@mini04 logs]$ ll -hrt
total 32K
-rw-r--r-- yun yun Aug : README.txt
-rw-r--r-- yun yun Oct : access.log
-rw-r--r-- yun yun .8K Oct : web.log
-rw-r--r-- yun yun .5K Oct : es.log
-rw-r--r-- yun yun 12K Oct : sonar.log
[yun@mini04 logs]$ cat es.log

解决1

 # 将 soft nofile和hard nofile从  改为 ,如下:
# 添加soft memlock和hard memlock
[yun@mini01 ~]$ tail /etc/security/limits.conf # 需要退出重新登录才生效
#* hard rss
#@student hard nproc
#@faculty soft nproc
#@faculty hard nproc
#ftp hard nproc
#@student - maxlogins # End of file
* soft nofile
* hard nofile
* soft memlock unlimited
* hard memlock unlimited

解决2

 [root@mini01 ~]# vim /etc/sysctl.conf  # 追加如下信息
……………… vm.max_map_count=
[root@mini01 ~]# sysctl -p # 生效

2.5.2. 数据库问题解决

 [yun@mini04 logs]$ pwd
/app/sonarqube/logs
[yun@mini04 logs]$ ll -hrt
total 32K
-rw-r--r-- yun yun Aug : README.txt
-rw-r--r-- yun yun Oct : access.log
-rw-r--r-- yun yun .8K Oct : web.log
-rw-r--r-- yun yun .5K Oct : es.log
-rw-r--r-- yun yun 12K Oct : sonar.log
[yun@mini04 logs]$ cat web.log

CentOS7 默认是mariadb,版本为5.5;但是要求版本最低为5.6。

解决:安装MySQL 5.6

2.6. 浏览器访问

 http://10.0.0.14:9000
http://mini04:9000 # 需要在本机hosts文件做域名解析

2.7. 查看已安装插件

 [yun@mini04 plugins]$ pwd
/app/sonarqube/extensions/plugins
[yun@mini04 plugins]$ ll -hrt
total 48M
-rw-r--r-- yun yun 3.8M Aug : sonar-go-plugin-1.1.0.1612.jar
-rw-r--r-- yun yun 1.5M Aug : sonar-flex-plugin-2.4.0.1222.jar
-rw-r--r-- yun yun 1.8M Aug : sonar-xml-plugin-1.5.1.1452.jar
-rw-r--r-- yun yun 2.1M Aug : sonar-typescript-plugin-1.7.0.2893.jar
-rw-r--r-- yun yun 6.9M Aug : sonar-scm-svn-plugin-1.8.0.1168.jar
-rw-r--r-- yun yun 2.6M Aug : sonar-scm-git-plugin-1.4.1.1128.jar
-rw-r--r-- yun yun 1.5M Aug : sonar-python-plugin-1.10.0.2131.jar
-rw-r--r-- yun yun 2.6M Aug : sonar-php-plugin-2.14.0.3569.jar
-rw-r--r-- yun yun 294K Aug : sonar-ldap-plugin-2.2.0.608.jar
-rw-r--r-- yun yun 5.4M Aug : sonar-kotlin-plugin-1.0.1.965.jar
-rw-r--r-- yun yun 3.4M Aug : sonar-javascript-plugin-4.2.0.6476.jar
-rw-r--r-- yun yun 5.8M Aug : sonar-css-plugin-1.0.1.508.jar
-rw-r--r-- yun yun 8.6M Aug : sonar-java-plugin-5.6.1.15064.jar
-rw-r--r-- yun yun Aug : README.txt
-rw-r--r-- yun yun 1.6M Aug : sonar-csharp-plugin-7.3.2.6129.jar

2.8. git上查看插件信息

2.8.1. 直接登录GitHub查看

 https://github.com/SonarQubeCommunity    

2.8.2. 通过链接地址查看

3. SonarQube汉化

3.1. 安装插件

3.2. 重启服务

安装完毕后,会有提示,根据提示重启服务即可。

之后可查看已安装插件中有Chinese Pack

持续代码质量管理-SonarQube-7.3部署的更多相关文章

  1. 持续代码质量管理-SonarQube Scanner部署

    1. SonarQube Scanner地址 上一篇文章我们安装了SonarQube-7.3,让我们可以在页面查看代码质量.但是具体的扫描工作则需要SonarQube Scanner完成. 下载页面 ...

  2. 代码质量管理sonarqube部署使用

    一.sonarqube的部署 1.下载sonaqube:https://www.sonarqube.org/downloads/ 根据需要下载特定版本: 2.如果通过sonar-scanner进行代码 ...

  3. 持续代码质量管理-SonarQube-7.3简单使用

    安装了SonarQube以及Sonar Scanner之后,就需要那代码检测了.当然为了方便我们使用已有现成的demo,知道到对应的git地址下载即可. 1. sonar-examples下载 htt ...

  4. 代码质量管理 SonarQube 系列之 安装

    简介 SonarQube 是一个开源的代码质量管理系统. 功能介绍: 15种语言的静态代码分析 Java.JavaScript.C#.TypeScript.Kotlin.Ruby.Go.Scala.F ...

  5. 使用 Sonar 进行代码质量管理

    参考资料: 使用 Sonar 进行代码质量管理 SonarQube的安装.配置与使用 SonarLint(Sonar) 代码质量管理

  6. 代码质量管理平台之SonarQube安装部署

    一.简介 Sonar是一个用于代码质量管理的开放平台,通过插件机制,sonar可以收集不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(比如jenkins)不同,sonar并不是简单地把 ...

  7. Dubbo入门到精通学习笔记(五):持续集成管理平台之sonarqube代码质量管理平台的介绍与安装

    文章目录 SonarQube的介绍 SonarQube的安装 安装简介 详细安装过程 详细使用过程 SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质 ...

  8. 持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知

    持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知 一:Sonar是什么?Sonar 是一个用于代码质量管理的开放平台,通过插件机制,Sonar 可以集成不同的测试工具 ...

  9. 持续集成之代码质量管理-Sonar [三]

    转载:https://www.abcdocker.com/abcdocker/2053 摘要 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工 ...

随机推荐

  1. Python函数属性和PyCodeObject

    函数属性 python中的函数是一种对象,它有属于对象的属性.除此之外,函数还可以自定义自己的属性.注意,属性是和对象相关的,和作用域无关. 自定义属性 自定义函数自己的属性方式很简单.假设函数名称为 ...

  2. C#单元测试如何查看输出的调试信息?

    在Visual Studio  2012的单元测试中使用: Console.WriteLine()输出的信息在“输出”面板都找不到??? ​查了不少资料,才得知在单元测试中打印的信息不显示在“输出”版 ...

  3. 买or不买?如何测试博彩公司赔率是否合理?

    世界杯期间,烧烤店.酒吧都热闹起来了,柔柔我的朋友圈也热闹起来了,有酱紫的: 还有酱紫的: 然后还有酱紫的: 酱紫的: 当然天台也是一如既然的热闹: 似乎人人都在输钱,那真正的赢家在哪里呢?博彩业的真 ...

  4. SpringBoot零XML配置的Spring Boot Application

    Spring Boot 提供了一种统一的方式来管理应用的配置,允许开发人员使用属性properties文件.YAML 文件.环境变量和命令行参数来定义优先级不同的配置值.零XML配置的Spring B ...

  5. virtualbox中设置u盘启动

    1.在磁盘管理中查看u盘的磁盘号X 2.管理员运行cmd,进入virtualbox目录 3.运行命令: VBoxManage internalcommands createrawvmdk -filen ...

  6. vuejs自定义过滤器根据搜索框输入的值,筛选复杂的列表数据

    如题所示,自定义过滤器根据搜索框输入的值,筛选复杂的列表数据.如图所示: html代码: <input type="text" placeholder="姓名/账号 ...

  7. CSS琐碎知识点(持续补充)

    一.字体单位,pt?px?em?rem? pt:磅,一种固定长度的绝对的度量单位,是能够使用测量设备测得的长度,印刷业上经常使用,一般用于页面打印排版. px:屏幕设备上能显示出的最小的一个物理点,这 ...

  8. POI 读取 excel

    xls 和 xlsx 后缀是因为 world excel 版本不一致,需要区别对待 依赖 <dependency> <groupId>org.apache.poi</gr ...

  9. android笔试题一

    1.Android DVM(Dalvik VM)的进程和Linux的进程, 应用程序的进程是同一个概念吗? DVM(Dalvik VM)指dalvik的虚拟机.每一个Android应用程序都在它自己的 ...

  10. cordov vue项目中调用手机原生api

    cordova不仅可以把vue项目打包成app,还可以让vue借助cordova调用手机原生的api 比如拍照 比如图片上传 比如定位 比如扫描二维码 比如支付等等 Vue Cordova教程-Vue ...