SonarQube安装及踩坑体验
一、SonarQube简介
SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息。
Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。
二、安装
确定需要安装的SonarQube版本,不同版本后期对应的插件版本也不相同,包括一些数据库的支持等。如果有时间的话仔细阅读版本的说明。
确定了要使用的SonarQube版本后就要下载对应的JDK包和数据库,需要注意的是SonarQube在7.9及以上版本都不支持MySQL了,另外一定要注意MySQL的版本。
官网下载SonarQube对应版本,地址是:https://www.sonarqube.org/
官网下载SonarScanner对应版本,注意不同语言有可能有不同的SonarScanner专用版本,导航栏左侧有提供不同语言的SonarScanner版本,另外要注意你要部署的SonarQube版本是否支持SonarScanner版本,地址是: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
有些版本里的SonarQube会自带扫描插件,具体可以在,SonarQube文件目录\extensions\plugins下查看(如果里边有个readme.txt一定要仔细阅读),如果没有的话需要在官网下载,打开上一步docs开头的网址,在左侧搜索需要的扫描插件,输入要扫描c#的代码,这里需要注意仔细看插件的说明,有些高版本的插件对SonarQube本体有版本要求。所以要注意说明,没有的话就多试试几个不同版本吧。
其余的流程可以自行百度其他教程,包括创建数据库sonar用户、sonarscanner,mysql,java环境变量配置、sonar.propertites文件配置等,这方面的文章有很多。
附一个我自己使用的版本:
SonarQube-6.7.7
JDK: 1.8.241
MySQL:5.7
Sonar-Scanner-msbuild-4.7.1.2311-net46
Sonar-Scanner-3.4.0.1729-windows
Sonar-csharp-plugin-6.7.1.4347
Sonar-javascript-plugin-4.2.1.6529
Sonar-|10n-zh-plugin-1.18
三、注意
SonarQube对于环境要求还是比较严格的,具体部署基本上没有多大问题,踩坑都是踩在了环境的问题上。
1.SonarQube的版本问题
从官方的记录来看,目前有几个常用的版本:
旧版的LTS版本-6.7.7
LTS版本-7.9
最新版-8.1
一定要详细的阅读sonar.properties文档内的说明,最早我用的sonarqube6.0版本+MySQL8.0结果因为数据库问题,在Log里查了半天,后来发现mysql8.0有部分语法及规则改变了,导致按照目前查到的语句去创建用户分配权限会报错,另外即使创建成功了对应的用户,在后期数据库初始化的过程中依旧会有语句出错的问题。
2.SonarSCanner的问题
网上的教程提供的对于C#扫描的办法都试过很多,发现并不能使用,都是在最后提示找不到项目,以为是sonarqube版本的问题,后来改成了6.7.7版发现还有问题,不过6.7.7版本有了创建项目提示,才发现需要用的插件是sonar-scanner-msbuild,并不像是网上所用的sonar-scanner,之后使用了对应版本的sonar-scanner-msbuild该问题就解决。
3.其他插件版本问题
一定要注意sonarqube的版本和其他对应的插件版本,包括汉化包,代码扫描等插件。
在网上找了半天对应的插件版本,后来发现sonaqube启动了以后有个文档系统, https://docs.sonarqube.org/latest/,直接就可以搜对应的插件,比如搜c#,就有对应的版本,还有对应的版本说明,比git上的要详细,非常方便
- 点赞
- 收藏
- 关注作者
评论(0)