SonarQube安装及踩坑体验

举报
王阿毛 发表于 2020/04/16 17:00:40 2020/04/16
【摘要】 一、SonarQube简介SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,...

一、SonarQube简介

SonarQube 是一款用于代码质量管理的开源工具,它主要用于管理源代码的质量。 通过插件形式,可以支持众多计算机语言,比如 java, C#, go,C/C++, PL/SQL, Cobol, JavaScrip, Groovy 等。sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具来检测你的代码,帮助你发现代码的漏洞,Bug,异味等信息。

Sonar 不仅提供了对 IDE 的支持,可以在 Eclipse和 IntelliJ IDEA 这些工具里联机查看结果;同时 Sonar 还对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用 Sonar。 

二、安装

  1.  确定需要安装的SonarQube版本,不同版本后期对应的插件版本也不相同,包括一些数据库的支持等。如果有时间的话仔细阅读版本的说明。

  2. 确定了要使用的SonarQube版本后就要下载对应的JDK包和数据库,需要注意的是SonarQube在7.9及以上版本都不支持MySQL了,另外一定要注意MySQL的版本。

  3. 官网下载SonarQube对应版本,地址是:https://www.sonarqube.org/

  4. 官网下载SonarScanner对应版本,注意不同语言有可能有不同的SonarScanner专用版本,导航栏左侧有提供不同语言的SonarScanner版本,另外要注意你要部署的SonarQube版本是否支持SonarScanner版本,地址是: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/


  5. 有些版本里的SonarQube会自带扫描插件,具体可以在,SonarQube文件目录\extensions\plugins下查看(如果里边有个readme.txt一定要仔细阅读),如果没有的话需要在官网下载,打开上一步docs开头的网址,在左侧搜索需要的扫描插件,输入要扫描c#的代码,这里需要注意仔细看插件的说明,有些高版本的插件对SonarQube本体有版本要求。所以要注意说明,没有的话就多试试几个不同版本吧。

  6. 其余的流程可以自行百度其他教程,包括创建数据库sonar用户、sonarscanner,mysql,java环境变量配置、sonar.propertites文件配置等,这方面的文章有很多。

  7. 附一个我自己使用的版本:

            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上的要详细,非常方便


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。