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++插件安装的更多相关文章

  1. Linux中 SonarQube代码质量管理平台安装

    SonarQube是管理代码质量一个开源平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube安装 1.环境准备 (1)sonarQube 下载地址https://www.sonarqu ...

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

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

  3. SonarQube代码质量管理平台比较好的搭建和使用资料

    http://www.voidcn.com/blog/lidujun1028/article/p-3831235.html   Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. ...

  4. SonarQube代码质量管理平台介绍与搭建

    前 言 1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1) 复杂度分布(complexity):代码复 ...

  5. 持续集成篇_05_SonarQube代码质量管理平台的介绍与安装

    1.SonarQube的介绍 SonarQube是一个管理代码质量的开放平台. 可以从七个维度检测代码质量(为什么要用SonarQube): (1)复杂度分布(complexity):代码复杂度过高将 ...

  6. SonarQube代码质量管理平台工具

    1.Sonar轮廓介绍 Sonar (SonarQube)是一个开源平台,用于管理源代码的质量.Sonar 不只是一个质量数据报告工具,更是代码质量管理平台.支持的语言包括:Java.PHP.C#.C ...

  7. SonarQube代码质量管理平台安装与使用

    Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaS ...

  8. SonarQube代码质量管理平台安装与使用--转载

    原文:http://blog.csdn.net/hunterno4/article/details/11687269 Sonar简介 Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量, ...

  9. Linux下SonarQube代码质量平台的安装和使用方法

    Sonar简介: Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量 通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,Java ...

随机推荐

  1. [Swift]LeetCode113. 路径总和 II | Path Sum II

    Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given su ...

  2. [Swift]LeetCode442. 数组中重复的数据 | Find All Duplicates in an Array

    Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others ...

  3. [Swift]LeetCode878. 第 N 个神奇数字 | Nth Magical Number

    A positive integer is magical if it is divisible by either A or B. Return the N-th magical number.  ...

  4. Nginx学习系列二Linux下Nginx实现负载均衡

    关于在本地虚拟机(VMware 14)下安装Linux同时安装Nginx,请参考Nginx学习系列之搭建环境 1.启动Nginx 在Nginx安装成功的前提下,启动Nginx 已root模式登陆(权限 ...

  5. 采坑:python base64

    需求:  读取文本内容,对字符串进行base64加密 >>> str = 'aaaaaaaaaaaaaaaaaaa\nbbbbbbbbbbbbbbbbbbbbbbbbbbb\nccc ...

  6. 将dylib库嵌入macOS应用的方法

    写作是一种习惯,稍微松懈,也许失去的就很多.过了一个年,居然很多天都没有更新,幸福的代价吧:) 标题的问题其实以前碰到过,不过当时在iOS,所以随手处理了没有重视. 而这次是在macOS,所使用的库, ...

  7. 利用好浏览器的空闲时间 --- requestIdleCallback

    页面流畅与 FPS 页面是一帧一帧绘制出来的,当每秒绘制的帧数(FPS)达到 60 时,页面是流畅的,小于这个值时,用户会感觉到卡顿. 1s 60帧,所以每一帧分到的时间是 1000/60 ≈ 16 ...

  8. Mongo 用户管理

    开启用户管理 auth = true 在配置文件或者参数中设置为改选项 开启认证服务,注意一点,很多人说在没有设置用户和配置用户之前,应该先不要开启,等设置完用户后再开启该参数,目前在win2008 ...

  9. Chapter 5 Blood Type——24

    "She's just a little faint," he reassured the startled nurse. "They're blood typing i ...

  10. Java架构师趣谈Hbase之宏观架构

    相关文章 五分钟轻松了解Hbase列式存储 Hbase给初学者的“下马威” Hbase王国游记之:Hbase客户端API初体验