Linux中 SonarQube代码质量管理平台以及C++插件安装
SonarQube是管理代码质量一个开源平台,可以快速的定位代码中潜在的或者明显的错误。
SonarQube安装
1、环境准备
(1)sonarQube 下载地址https://www.sonarqube.org/downloads/
注:官网显示目前最新版本是7.1
(2)sonarQube Scanners 下载地址http://docs.sonarqube.org/display/SCAN/Analyzing+Source+Code
(2)jdk1.8 (注:根据官网信息,需要用到jdk1.8,如果你的环境已经配置了JAVA_HOME是jdk1.7,没关系我们可以手动指定sonar的运行jdk为1.8(后面配置的时候说明))
(4)安装mysql,可以是远程连接(注:mysql版本需要是5.7+)

2、SonarQube 安装
(1)指定jdk1.8(如果系统环境变量已经是1.8忽略此步)
下载好sonarQube后,解压打开conf目录,修改 wrapper.conf

(2)启动sonar
[root@fastdfs1 sonarqube-5.6.4]# ./bin/linux-x86-64/sonar.sh start
(3) 观察启动日志
[root@fastdfs1 sonarqube-5.6.4]# tail -200f ./logs/sonar.log
(4)访问http://你的IP:9000/sonar 看到欢迎界面即成功
(5)这里如果你是root用户的话,可能会遇到问题,sonar.log显示服务器stop了,没有起来,查看./logs/es.log
java.lang.RuntimeException: can not run elasticsearch as root
elasticsearch不能使用root,网上查了点资料,说是在bin/elasticsearch加入ES_JAVA_OPTS="-Des.insecure.allow.root=true"就能解决问题,但是发现也不管用,查了下是新版本这条命令也废弃了,于是悲剧的只能新建用户了,
在linux中useradd yourname, passwd yourname, 建立用户,然后在/etc/sudoers加入你的权限,登入用户,复制过来,在继续弄......
(6)继续失败,上面的问题是解决了,又出现新问题了:
Failed to initialize end point associated with ProtocolHandler ["http-nio-127.0.0.1-9001"]
貌似是端口被暂用了,改一个,改成9011,在起一次,ps ux | grep Sonar一下,程序起来了,用地址登入,失败,
最后都像放弃了,把端口改回9000, sonar.web.host注释掉, 也注释掉sonar.web.context, 把
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar, 然后就OK了,能进去了
总算明白了, 这里的username, password应该是mysql数据库的用户和密码, 打开网站后,默认的用户和密码是admin/admin, 这坑爹的网络资料,故意让我们入坑
3、SonarQube配置
(1)mysql 添加sonar用户
mysql> CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'sonar' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar';
mysql> GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar';
mysql> FLUSH PRIVILEGES;
(2)sonarQube配置mysql,修改/conf/sonar.properties

sonar.jdbc.username=sonar #数据库用户
sonar.jdbc.password=sonar #数据库密码
sonar.jdbc.url=jdbc:mysql://数据库IP:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
#sonar.web.host=你的本地IP
#sonar.web.context=
sonar.web.port=9000

(4)重启服务,观察日志
4、SonarQube汉化
(1)按照如下步骤安装中文插件 

(2)重启,重新访问即可发现汉化成功。
( 3 ) 安装C++插件,由于sonar自带的CFamily收费,而且贵的死人,屌丝程序员只好自选出路, 有大神介绍了一个C++插件,那作者就是看CFamily插件收钱不爽,自己写了个更好的,牛啊,看连接
https://github.com/SonarOpenCommunity/sonar-cxx/tree/cxx-1.0.0

下载图中的c-plugin.jar cxx-plugin.jar文件, 按照下图操作:

简单使用
默认用户名是admin 密码admin
(1)配置sonar-scanner(如果SonarQube和Sonar-scanner不在同一台服务器,修改/sonar-scanner-2.8/conf/sonar-scanner.properties)
sonar.host.url=http://sonarQubeIP:9000
sonar.jdbc.username=test
sonar.jdbc.password=1234
sonar.jdbc.url=jdbc:mysql://数据库IP:3306/sonar?useUnicode=true&characterEncoding=utf8
(2)sonar-scanner指定jdk1.8
修改/sonar-scanner-2.8/bin/sonar-runner

至此,SonarQube和Sonar-Scanner配置成功了。后面介绍Jenkins和Sonar的集成
Linux中 SonarQube代码质量管理平台以及C++插件安装的更多相关文章
- Linux中 SonarQube代码质量管理平台安装
SonarQube是管理代码质量一个开源平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube安装 1.环境准备 (1)sonarQube 下载地址https://www.sonarqu ...
- Dubbo入门到精通学习笔记(五):持续集成管理平台之sonarqube代码质量管理平台的介绍与安装
文章目录 SonarQube的介绍 SonarQube的安装 安装简介 详细安装过程 详细使用过程 SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质 ...
- SonarQube代码质量管理平台比较好的搭建和使用资料
http://www.voidcn.com/blog/lidujun1028/article/p-3831235.html Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. ...
- SonarQube代码质量管理平台介绍与搭建
前 言 1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1) 复杂度分布(complexity):代码复 ...
- 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装
1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)复杂度分布(complexity):代码复杂度过高将 ...
- SonarQube代码质量管理平台工具
1.Sonar轮廓介绍 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量.Sonar 不只是一个质量数据报告工具,更是代码质量管理平台.支持的语言包括:Java.PHP.C#.C ...
- SonarQube代码质量管理平台安装与使用
Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaS ...
- SonarQube代码质量管理平台安装与使用--转载
原文:http://blog.csdn.net/hunterno4/article/details/11687269 Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量, ...
- Linux下SonarQube代码质量平台的安装和使用方法
Sonar简介: Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,Java ...
随机推荐
- [Swift]LeetCode766. 托普利茨矩阵 | Toeplitz Matrix
A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element. Now given ...
- Jquery的详细解析和用法
一.Jquery简介 Jquery是一个优秀的Javascrīpt框架.它是轻量级的js库(压缩后只有21k) ,它兼容CSS3,还兼容各种浏览器 (IE 6.0+, FF 1.5+, Safari ...
- 小程序自定义pick(日期加时间组合)
最近小程序有个需求要使用日期加时间的pick组件 翻了小程序文档似乎没有符合的 手写一个 新建组件picker.js: Component({ properties: { disabled: { t ...
- 基于IPV6的数据包分析(更新拓扑加入了linux主机和抓取133icmp包)(第十三组)
1.拓扑图 2.配置ipv6地址,在拓扑图上对应位置标有对应网段,所在网段的端口按照网段配置,下图以r4为例 3.配置路由表,由于静态路由还要敲ip很麻烦所以使用ospf协议,下图为ospf配置以r5 ...
- SCOI2019 退役记
退役了.D2没有翻盘,愉快出队,文化课见. 19年4月14日:某校第一届的最后一名OIer退出竞赛. 留坑. 万一退役失败了呢
- Python—day10 函数的参数分类
一.实参与形参 1.形参:定义函数,在括号内声明的变量名,用来接受外界传来的值 def fn(形参们): pass def fn(a,b,c):# 形参就是考虑实参的值, ...
- jenkins修改数据存放路径
如果是用tomcat做容器的话,则在./bin/catalina.sh文件添加以下语句即可:export JENKINS_HOME="存放路径(需存在)" 例如:
- 懵逼的this指向
请看以下代码: 以上的console.log打印出来的,如果你能完全知道,请忽略,如果你不知道,那就接下来看吧. console.log打印的结果: Google非常智能地把对象给打印出来了,看结果, ...
- 安装wamp环境 最新完整版
Apache 下载地址:https://www.apachehaus.com/cgi-bin/download.plx 下载后 解压目录 放到C:/Program Files下面目录重命名为Apach ...
- MySQL8.0.12 安装及配置、读写分离,主从复制
一.安装 1.从网上下载MySQL8.0.12版本,下载地址:https://dev.mysql.com/downloads/mysql/ 2. 下载完成后解压 我解压的路径是:D:\Java\mys ...