Sonarqube检测
Sonar是一个用于代码质量管理的开源平台,用于管理源代码的质量,可以从七个维度检测代码质量,通过插件形式,可以支持包括java,C#,C/C++,PL/SQL,Cobol,JavaScrip,Groovy等等二十几种编程语言的代码质量管理与检测
Rules提示
当然,这对于初学来说是一个很好的教程,搞懂这些规则可以避免bugs的出现,提供自己的开发能力。
rule正确实例提示
糟糕的复杂度分布
文件、类、方法等,如果复杂度过高将难以改变,这会使得开发人员难以理解它们, 且如果没有自动化的单元测试,对于程序中的任何组件的改变都将可能导致需要的回归测试
重复
显然程序中包含大量粘贴的代码是质量低下的 , sonar可以展示源码中重复严重的地方
缺乏单元测试
sonar可以很方便地统计并展示单元测试覆盖率
没有代码标准
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写
没有足够的或者过多的注释
没有注释将使代码可读性变差,特别是当不可避免地出现人员变动时,程序的可读性将大幅下降,而过多的注释又会使得开发人员将精力过多地花费在阅读注释上,亦违背初衷
潜在的bug
sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具检测出潜在的bug
糟糕的设计
通过sonar可以找出循环,展示包与包、类与类之间的相互依赖关系,可以检测自定义的架构规则;
通过sonar可以管理第三方的jar包可以利用LCOM4检测单个任务规则的应用情况 ,检测耦合
SonarQube 8.7 升级详细说明(二)
sonarcube Mysql数据库切换到PgSQL
备份 sonar 现有的MySQL数据库用于导入 PgSQL
使用sonarcube初始化一下tgresql数据库
Could no determine SonarQube version of the target database. Could not select version from schema_migration.
新创建的空PG库是不能进行迁移的,需要同版本的soanr使用后才会找到和这个表!就是需要旧版本的SonarQube 初始化一次
重启服务
升级 7.9.5
升级 8.7.0
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中修改即可,支持的参数较多
直接扫描方式
配置在项目根目录中创建sonar-perties配置文件,配置文件中包含以下内容:
使用SonarQube Runner分析源码
预置条件
已安装SonarQube Runner且环境变量已配置,即sonar-runner命令可在任意目录下执行
1.在项目源码的根目录下创建sonar-perties配置文件2.执行分析
切换到项目源码根目录,执行命令
与IDE关联
蕞后,当然了,得与IDE相关联,才能更方便地实时查看
以上信息由专业从事代理商sonarqube安全审计的华克斯于2025/3/11 18:06:17发布
转载请注明来源:http://szhou.mf1288.com/hksxxkj-2847287958.html