SonarQube 扫描 接入方式
SonarQube 接入方式sonarqube 插件
SonarQube包含多种接入方式,这里提供常用的几种接入方式说明:
Jenkins集成方式
Maven集成方式
直接扫描方式
无论采用哪种集成方式,首先需要在sonar服务中生成授权token:
Jenkins集成方式
Jenkins集成具体实现方式包含两种:
通过Jenkins的Job触发Maven命令执行,这种方式实际上是通过Maven集成方式来进行扫描的;
通过Jenkins的Sonar插件执行,此方式实际是触发直接扫描方式来进行扫描的,Jenkins插件的安装方式详见安装
Maven集成方式全局配置
在settings.xml文件中配置以下内容
添加插件
在pom.xml中添加sonar插件:
执行分析
如果是多module项目,在执行扫描前需要先对项目进行install操作,即:
分析配置如果需要修改sonar扫描参数的默认值,在pom.xml的properties中修改即可,中国sonarqube 插件,支持的参数较多
直接扫描方式
配置在项目根目录中创建sonar-perties配置文件,中国sonarqube 插件,配置文件中包含以下内容:
sonarqube版本升级注意事项
对sonarqube进行版本升级,如果现在使用的版本与目标版本之间存在长期更新版本(LTS)时,应先升级到长期更新版本。
升级步骤:
新的SonarQube版本,直接启动,默认使用H2数据库
在更新中心安装插件
更新conf/perties文件以使用旧实例的相关配置,包括生产数据库的连接信息
停止您的旧SonarQube服务器
重新启动新的SonarQube实例
按照提示进行操作,sonarqube 插件,主要是升级数据库,升级前一定要进行备份
sonarqube问题修改总结
三、可读性问题
1、用isEmpty()去做容器的空或者非空判断。
说明:Use isEmpty() to check whether the collection is empty or not.
原因:增加可读性。
2、删除没有用的import、field、class、method。
原因:增加可维护性。
修改建议:删除无用代码块、申明、方法和引用。
3、if语句被拆分不利于可读
说明:Merging collapsible if statements increases the code's readability.
3、方法内多个return出口
错误示例:
解决建议:定义一个return,赋值,代理商sonarqube 插件,统一返回。
4、修改了入参说明:修改了入参降低了代码的可读性,丢失了原始参数的值。
错误示例:
5、用equalsIgnoreCase()方法替代字符串的无视大小写比较。
说明:Replace these toUpperCase()/toLowerCase() and equals() calls with a single equalsIgnoreCase() call.
原因:参数应当是final的
解决建议,利用一个临时变量充当需要变动的参数。
中国sonarqube 插件-苏州华克斯公司由苏州华克斯信息科技有限公司提供。苏州华克斯信息科技有限公司实力不俗,信誉可靠,在江苏 苏州 的行业软件等行业积累了大批忠诚的客户。华克斯带着精益求精的工作态度和不断的完善创新理念和您携手步入辉煌,共创美好未来!