Sonarqube代码分析
当使用 SonarQube对某一个项目进行代码质量管理时,代理商sonarqube 插件,通常可以采用三种不同的方法来发起代码分析,分别为 Analyzing with SonarQube Runner,Analyzing with SonarQube Ant Task 和 Analyzing with Maven 方法。这三种方法的主要区别是 , 它们分别适用于不同架构和组织形式的项目,并且其相应的配置文件的写法也不尽相同。下面主要说一下Analyzing with SonarQube Runner和Analyzing with Maven






SonarQube 扫描 接入方式
SonarQube 接入方式sonarqube 插件
SonarQube包含多种接入方式,这里提供常用的几种接入方式说明:
Jenkins集成方式
Maven集成方式
直接扫描方式
无论采用哪种集成方式,首先需要在sonar服务中生成授权token:
Jenkins集成方式
Jenkins集成具体实现方式包含两种:
通过Jenkins的Job触发Maven命令执行,这种方式实际上是通过Maven集成方式来进行扫描的;
通过Jenkins的Sonar插件执行,此方式实际是触发直接扫描方式来进行扫描的,Jenkins插件的安装方式详见安装
Maven集成方式全局配置
在settings.xml文件中配置以下内容

添加插件
在pom.xml中添加sonar插件:

执行分析
如果是多module项目,代理商sonarqube 插件,在执行扫描前需要先对项目进行install操作,即:
分析配置如果需要修改sonar扫描参数的默认值,代理商sonarqube 插件,在pom.xml的properties中修改即可,支持的参数较多
直接扫描方式
配置在项目根目录中创建sonar-project.properties配置文件,sonarqube 插件,配置文件中包含以下内容:

关于SonarQube社区版使用问题及解决方法
解决SonarQube扫描规则问题
在搭建好SonarQube平台后,已经配置好了针对每种语言的"Sonar Way"质量配置。我们在大规模使用中,对扫描Java项目的规则做了一些定制,有一些新增的规则还有一部分弃用的规则,总之大部分还都是默认自带的java规则,配置好规则后并设置为默认的规则。
分析
SonarQube平台中的项目不需要单独的新建,而是通过Jenkins构建过程中生成。
当我们需要为项目新的质量配置的时候,通常在Sonar WebUi中进行配置。
无法通过"-Dsonar.xxxx"方式每次分支时使用的质量名称。
应对
由于SonarQube项目都是通过流水线扫描后生成的,于是在流水线中增加步骤。
每次扫描之前先判断项目是否存在,然后新的质量,再执行代码扫描。
华克斯信息-sonarqube 插件由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司是从事“Loadrunner,Fortify,源代码审计,源代码扫描”的企业,公司秉承“诚信经营,用心服务”的理念,为您提供更好的产品和服务。欢迎来电咨询!联系人:华克斯。