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. TensorFlow中的Placement启发式算法模块——Placer

    背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 受限于单个Device的计算能力和存储大小,许多深度学习模型都有着使用模型分片 ...

  2. VUE组件汇总

    内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element ★13489 - 饿了么出品的Vue2的web UI工具套件 Vux ★8133 - 基于Vue和 ...

  3. 【golang-GUI开发】QSS的使用(一)———QSS入门指南

    在这篇文章中我们将初步体验对qss的使用.并对在goqt中使用qss时的注意事项进行说明. 那么事不宜迟,现在开始我们的qss之旅吧. QSS语法入门 qss是一种与css3相似的控制Qt组件的样式表 ...

  4. linux的文档和目录结构

    在Linux底下,所有的文件与目录都是由根目录开始,是目录与文件的源头,然后一个个的分支下来,如同树枝状,因此称为这种目录配置为:目录树. 目录树的特点是什么呢? 目录树的起始点是根目录(/,root ...

  5. .NET CORE实践(1)--Ubuntu下的Hello World

    准备工作 使用Hyper-V安装Ubuntu16.04桌面版 因为是作为类似日记的记录,所以写的时候事无巨细,稍显啰嗦. 打开微软.NET官网 apt-get install 打开dotnetcore ...

  6. 《c#图解教程》

    书名 <c#图解教程> 图片 时间 2017-10-12月 学习 第20章的异步编程很好,在项目里面很有用.东西有点多时间久了不用就忘了

  7. .net反编译的九款神器(转载)

    .net反编译的九款神器  转载来源: https://www.cnblogs.com/zsuxiong/p/5117465.html 本人搜集了下8款非常不错的.Net反编译利器: 1.Reflec ...

  8. C#通过窗体属性缩小一定尺寸时,无法再缩小窗体尺寸问题

    问题:通过窗体属性缩小窗体尺寸时,发现改变到一定大小时无法再缩小.条件:在代码中设置窗体的尺寸由窗体属性里设置的宽高决定,但实际通过窗体属性设置窗体大小,一定大小时无法再缩小,那是因为我们没有把窗体属 ...

  9. Spring Bean的生命周期,《Spring 实战》书中的官方说法

    连着两天的面试 ,都问到了 Spring 的Bean的生命周期,其中还包括 昨晚一波阿里的电话面试.这里找到了Spring 实战中的官方说法.希望各位要面试的小伙伴记住,以后有可能,或者是有时间 去看 ...

  10. 安装PyCharm

    安装包下载 本文以CentOS上PyCharm安装为例来介绍,安装包的下载地址:https://www.jetbrains.com/pycharm/download/ 官网提供了windows,mac ...