持续代码质量管理-SonarQube-7.3部署
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部署的更多相关文章
- 持续代码质量管理-SonarQube Scanner部署
1. SonarQube Scanner地址 上一篇文章我们安装了SonarQube-7.3,让我们可以在页面查看代码质量.但是具体的扫描工作则需要SonarQube Scanner完成. 下载页面 ...
- 代码质量管理sonarqube部署使用
一.sonarqube的部署 1.下载sonaqube:https://www.sonarqube.org/downloads/ 根据需要下载特定版本: 2.如果通过sonar-scanner进行代码 ...
- 持续代码质量管理-SonarQube-7.3简单使用
安装了SonarQube以及Sonar Scanner之后,就需要那代码检测了.当然为了方便我们使用已有现成的demo,知道到对应的git地址下载即可. 1. sonar-examples下载 htt ...
- 代码质量管理 SonarQube 系列之 安装
简介 SonarQube 是一个开源的代码质量管理系统. 功能介绍: 15种语言的静态代码分析 Java.JavaScript.C#.TypeScript.Kotlin.Ruby.Go.Scala.F ...
- 使用 Sonar 进行代码质量管理
参考资料: 使用 Sonar 进行代码质量管理 SonarQube的安装.配置与使用 SonarLint(Sonar) 代码质量管理
- 代码质量管理平台之SonarQube安装部署
一.简介 Sonar是一个用于代码质量管理的开放平台,通过插件机制,sonar可以收集不同的测试工具,代码分析工具,以及持续集成工具.与持续集成工具(比如jenkins)不同,sonar并不是简单地把 ...
- Dubbo入门到精通学习笔记(五):持续集成管理平台之sonarqube代码质量管理平台的介绍与安装
文章目录 SonarQube的介绍 SonarQube的安装 安装简介 详细安装过程 详细使用过程 SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质 ...
- 持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知
持续集成之②:整合jenkins与代码质量管理平台Sonar并实现构建失败邮件通知 一:Sonar是什么?Sonar 是一个用于代码质量管理的开放平台,通过插件机制,Sonar 可以集成不同的测试工具 ...
- 持续集成之代码质量管理-Sonar [三]
转载:https://www.abcdocker.com/abcdocker/2053 摘要 Sonar 是一个用于代码质量管理的开放平台.通过插件机制,Sonar 可以集成不同的测试工具,代码分析工 ...
随机推荐
- 南大算法设计与分析课程复习笔记(2)L2 - Asymptotics
一.几种比较复杂度的符号 数据结构有描述,相关严格数学定义也不想说了,就这么过了吧. 二.最大子数组的几种解决方法 从最复杂的暴力解法过渡到最简单的动态规划 解析和代码见这里:http://www.c ...
- [转]VirtualBox centos7扩容
本文转自:https://www.cnblogs.com/xd502djj/p/7367704.html 有时候扩容还真不如重新建立一个大硬盘的系统,但是如果你安装了好多东西的话,那还是来扩容一下吧. ...
- TFS自动记住用户名密码
在使用Team Foundation Server(以下简称TFS) 的时候,先在安装Team Foundation 的机器中新建一个与客户机中的同名的用户名,这样,在Visual Studio 20 ...
- .Net Core 项目中添加统一的XSS攻击防御过滤器
一.前言 最近公司内部在对系统的安全进行培训,刚好目前手里的一个.net core 项目中需要增加预防xss的攻击,本文将大概介绍下何为XSS攻击以及在项目中如何统一的预防XSS攻击. 二.XSS简介 ...
- java动态获取WebService的两种方式(复杂参数类型)
java动态获取WebService的两种方式(复杂参数类型) 第一种: @Override public OrderSearchListRes searchOrderList(Order_Fligh ...
- Laravel 系列入门教程(四)【最适合中国人的 Laravel 教程】
本篇文章中,我将跟大家一起实现 Article 的新增.编辑和删除功能,仔细解读每一段代码,相信本篇文章看完,你就能够 get Laravel 使用之道. RESTful 资源控制器 资源控制器是 L ...
- 学用纯CSS打造可折叠树状菜单
随着CSS3的发布,国外研究正如火如荼,但在国内还有很多人抱着IE不支持CSS3的想法,始终无动于衷不肯去学习.但是历史告诉我们,好的东西必将盛行,CSS3也终将也会替代CSS2,下面就和大家分享一个 ...
- layui 弹窗的iframe 父子界面相互传值
1.父界面向子界面传值 [1].父界面打开子界面: function show_layer(){ layer.open({ type: 2, area: [w+'px', h +'px'], fix: ...
- JS apply的巧妙用法以及扩展到Object.defineProperty的使用
Math.max 实现得到数组中最大的一项 var array = [1,2,3,4,5]; var max = Math.max.apply(null, array); console.log(ma ...
- python里文件读写操作
文件读写操作一种基本操作,但是里面也存在很多需要注意的问题,例如字符编码.内存缓冲.指针位置等等.如果忽视这些问题就会引起很多不必要的麻烦.简单来说,文件的读写分为几个过程: 打开文件,并定义操作文件 ...