Centos7环境安装SonarQube
SonarQube简SonarQube简介
Sonar 是一个用于代码质量管理的开放平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。比如pmd-cpd、checkstyle、findbugs、Jenkins。通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
此外,Sonar 的插件还可以对 Java 以外的其他编程语言(支持的语言包括:Java、PHP、C#、C、Cobol、PL/SQL、Flex等)提供支持,对国际化以及报告文档化也有良好的支持。可以说Sonar是目前最强大的代码质量管理工具之一。
SonarQube为静态代码检查工具,采用B/S架构,帮助检查代码缺陷,改善代码质量,提高开发速度,通过插件形式,可以支持Java、C、C++、JavaScripe等等二十几种编程语言的代码质量管理与检测。
通过客户端插件分析源代码,sonar客户端可以采用IDE插件、Sonar-Scanner插件、Ant插件和Maven插件方式,并通过各种不同的分析机制对项目源代码进行分析和扫描,并把分析扫描后的结果上传到sonar的数据库,通过sonar web界面对分析结果进行管理
1.安装环境
系统环境:CentOS-7-x86_64-DVD-1708
前置条件:jdk1.8.0_161 , mysql-5.7.21
软件安装目录:/usr/local/sonarqube
软件版本:sonarqube-6.4,sonar-scanner-2.8.zip
2.预置条件
2.1 需要JDK1.8+支持;(已安装,详见(三)centos7环境安装Oracle JDK)
2.2 需要Mysql数据库支持;(虽然SonarQube自带了H2数据库,但是为了方便管理数据推荐使用Mysql数据库,如何安装见:(五)Centos7环境下安装Mysql(多实例))
JDK是必须安装的,Mysql数据库并不是必须要安装的,如果公司有Mysql服务器,直接拿来使用就行,但是需要更改mysql的默认引擎为INNODB,否则会报错。
需要注意的是:
(1).运行SonarQube时官方要求如果是MySQL,要求数据库默认引擎为InnoDB而不是MyISAM,而在前面的章节中我们恰恰是配置的默认引擎为MyISAM,需要打开/usr/local/mysql-5.7.18/data/3306/my.cnf将[mysqld]节点下的“default-storage-engine=MyISAM”改为“
default-storage-engine= InnoDB”。此外,还要求必须是UFT8编码,这个在之前的配置文件已经配置为UFT8,所以无需改动;
(2).浏览SonarQube结果需要IE 11/Microsoft Edge或FireFox、Chrome的最新版本。
3.软件准备
sonarqube-6.4.zip,下载地址:
https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.4.zip
sonar-scanner-2.8.zip :
https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-2.8.zip
如果需要使用SonarQube对C#进行代码质量分析,需要下载sonar-scanner-msbuild和MSBuild,其中要求MSBuild在V14.0以上,不想安装MSBuild的同学可以直接安装Microsoft Build Tools 2015。
sonar-scanner-msbuild-3.0.0.629.zip,下载地址:
https://github.com/SonarSource/sonar-scanner-msbuild/releases/download/3.0.0.629/sonar-scanner-msbuild-3.0.0.629.zip,说实在很难下载,可以去我的百度网盘下载,网址:
https://pan.baidu.com/s/1pLblLMz
Microsoft Build Tools 2015,下载地址:
通过上面提供的软件已经满足在命令行下对代码进行分析的