当前位置: 首页 > news >正文

DevOps 生态介绍(五):玩转SonarQube:代码静态扫描、Bug预警、质量门禁介绍

上一篇文件介绍的是Sonarqube与Jenkins 集成,使用的是Jenkins 的Sonar-Scanner 组件对源码进行扫描结合Jacoco 展示出来的是代码覆盖率,今天这篇文章主要介绍使用Sonar-scanner工具进行本地扫描查看下源码除覆盖率以外其他的指标(安全、可靠性、可维护性、已审查)

sonar-scanner

在Sonarqube-我的账号-安全 一栏新增一个专门供sonar-scanners使用的通用令牌

点击“生成”按钮后,复制生成的ID

新增项目:

选择“手工” 点击

输入显示名,项目标识会自动跟显示名保持一致,输入主分支名称(dev or test or uat)

两个选项都可以选择,我选择了第一个,

遵循实例的默认配置:每次扫描只扫这一版本更改过的来检查问题

自定义:可以选择上个版本,也可以自定义天数,或者引用分支

创建1项目后到这个界面,选择点击本地,因为我们这边测试的是使用本地sonar-scanner扫描代码

这里选择“使用已有令牌”,将前面生成的令牌ID复制进去,然后点击“继续”按钮

在这里选择“其他”-“Linux”

这里提示的执行扫描器的命令要复制好,下面下载linux 扫描器时需要用到这段命令

sonar-scanner \ -Dsonar.projectKey=xxxxxxxxx-shoudong \ -Dsonar.sources=. \ -Dsonar.host.url=http://192.168.1.1:9000 \ -Dsonar.token=sqa_385ddcd1c51e6c1e4cb6a619a5370cd8b748f211

Linux 平台部署扫描器---Sonar-Scanner

#sonar-scanner-cli 下载连接 https://binaries.sonarsource.com/?prefix=Distribution/sonar-scanner-cli #wget 下载 cd /data/app/pats_opts wget https://binaries.sonarsource.com/?prefix=Distribution/sonar-scanner-cli/sonar-scanner-cli-8.1.0.6389.zip unzip sonar-scanner-cli-8.1.0.6389.zip #解压后会有一个sonar-scanner-8.1.0.6389 的文件夹,重命名文件夹及到文件夹下新增sourcecode文件夹用来存放项目源码 mv sonar-scanner-cli-8.1.0.6389 sonar-scanner cd sonar-scanner && mkdir sourcecode

到sourcecode目录下新增一个以项目名称命名的.sh的脚本,此用本用来shell 执行sonar-sacnner 命令,脚本内容如小所示

more xxx-shoudong-scanner.sh git clone -b master-test https://codeup.xxx.com/64a7a5d071f685caf0826898/xxx/xxx.git cd xxx /data/app/pats_opts/apache-maven-3.9.16/bin/mvn clean package /data/app/pats_opts/sonar-scanner/bin/sonar-scanner \ -Dsonar.projectKey=xxx-shoudong \ -Dsonar.sources=. \ -Dsonar.host.url=http://192.168.1.96:9000 \ -Dsonar.token=sqp_c23b217563d40e17cfc39bbcf29f30b68c4e85ac \ -Dsonar.java.binaries=target/classes #-Dsonar.java.binaries=**/target/classes 最后一行的这一句一定要加上,不然在scanner时会提示找不到classes。 #这个项目执行sonar-scanner时 ./xxx-shoudong-scanner.sh 即可

如下图所示即为执行成功了,成功后,到sonarqube页面就能看到这个项目的信息了

sonarqube 页面介绍

上一篇文章中Sonarqube 与Jenkins 集成只统计了覆盖率,今天手动sonar-scanner 其他指标也有数值了

详细需要修改的地方,可以依次点击进去查看下,sonarqube平台也会给出提示的

Sonar way

SonarWay 是Sonarqube 内置的一套“推荐标准”和“最佳实践”集合,大部分情况下不需要自定义规则, 直接使用官方推荐规则即可

SonarWay 包括:质量配置和质量门禁

质量配置:制定的是规则,不同语言环境下的sonarway 质量配置的规则也是不一样的

点击其中一个规则查看详细信息,会有规则问题描述,问题原因,修复方法,生效时间一些信息

质量门禁:指定阈值,达到什么用的程度选达标

SonarWay 需不需要自定义?

对于大部分项目来说,可以直接使用SonarWay就够了,SonarWay是官方推荐的基准线,先用它跑起来,后面在看,如果规则感觉太松或者太严,在考虑基于它去定制。

下一批文章将介绍

DevOps 生态介绍(六):超详细!Jenkins Pipeline 实战教程,构建你的第一个 CI 项目

http://www.zskr.cn/news/1352471.html

相关文章:

  • 图片批量识别提取信息
  • 安全雷达性能及参数选型对比
  • 推理篇第1节:ONNX生态——模型导出、IR结构可视化
  • 2026新疆线缆厂家大全:新疆电缆厂家+新疆电力线缆厂家+新疆电力电缆厂家+新疆高压电缆厂家+新疆输变电线厂家汇总 - 栗子测评
  • cesium笔记
  • 【飞机】数据驱动的多传感器飞机健康监测系统【含Matlab源码 15551期】
  • Ubuntu 常用命令
  • 倚天剑术58--给PDF文件盖电子章
  • 【最新源码】JewelryShop商城系统设计c123
  • 跨国零售企业网络升级实践:如何打通全球零售网络
  • MySQL 部门表:树结构 (自关联) vs 非树结构 (扁平化 / 冗余字段)
  • PHP 的 resource(如数据库连接、文件句柄)不能被序列化。
  • 2026薄壁注塑模具厂家推荐:食品包装模具定制厂家指南 - 栗子测评
  • 别再死磕修改了!paperxie 一站式搞定论文查重与降 AIGC 率,毕业党速码
  • 【编号110】64个地级市土地利用图
  • 深度解析SMUDebugTool:AMD Ryzen系统管理单元高级调试实战指南
  • 终极Figma中文界面改造指南:3分钟让英文设计工具变身母语助手
  • H3CSE 高性能园区网:Smart Link 与 Monitor Link 技术详解
  • 二叉搜索树(BST)详解
  • c#基础知识合集08 随机数 DateTime
  • 2026电力金具厂家推荐:铁附件加工厂家+绝缘子厂家推荐名录 - 栗子测评
  • Day03 Web应用OSS存储负载均衡CDN加速反向代理WAF防护部署影响
  • Python之anonymate包语法、参数和实际应用案例
  • 开发靠 AI 提效,测试成最大瓶颈,现状过于真实
  • 【Lovable前端开发实战指南】:20年专家亲授5个让团队抢着用的可维护性设计模式
  • 深度解析:基于RAG与任务执行的AI Agent全能力矩阵在话务系统的工程实践
  • 为什么你的ElevenLabs江苏话输出总像“普通话+口音”?揭秘吴语连读变调(sandhi)缺失的4个隐藏参数及patch级修复方案
  • 从对话框到具身:AI 交互方式的深层变化
  • AgentScope Harness
  • 用 shell 命令做 AI Agent 的插件系统:为什么 Hook 不是函数调用