当前位置: 首页 > 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.cnnetsun.cn/news/2520403.html

相关文章:

  • 2026 小众暴利 AI 项目,AI短剧带货,简单复制就能盈利
  • 还在被双链表绕晕?这篇保姆级教程带你彻底吃透(含完整C实现)
  • 衔接器CC Switch 小白图文安装,接入Claude Opus4.7+deekseep V4 +千问等等都不在话下,再也不用担心无法配置几个第三方大模型。
  • 【YOLO目标检测全栈实战】65 让YOLO开口说话:YOLO-World + 多模态大模型的端到端对话系统实战
  • 逆向工程学习日志(第五天):常见加密算法特征识别与 Python 打包程序的逆向边界
  • CANN模型编译与离线部署全攻略
  • 海克斯大乱斗:普攻英雄“锻体”收益的严谨数学分析
  • AI安全新范式:用逆向推理与因果推断定位系统性风险
  • 面试:如果让你设计一个客服 Agent,你会如何划分四大组件的职责?
  • D盾深度集成IIS:Windows Web服务器原生级Webshell防护方案
  • Frida Hook SSL_read/SSL_write 实现HTTPS明文流量捕获
  • Agentic o3调度器与Gemma/Nemotron-H推理范式演进
  • Unity跨平台发布失败的根因分析与七步排查法
  • Hugging Face实战备忘录:开发者必备的AI开发OS层指南
  • AI-native开发:从工具使用者到智能体编排工程师的范式跃迁
  • 医疗数据中心AI:面向临床确定性的边缘智能架构
  • TensorFlow Federated核心原理:联邦计算契约与类型系统解析
  • 房地产数字沙盘价格与服务商选型指南,2026年开发商采购参考
  • GPT-4的1.8万亿参数与2%激活:MoE稀疏推理实战解析
  • 服务器GPU直通故障根因与五层协同调试指南
  • GitLab CVE-2025-1477:URI编码绕过身份验证的应急防护指南
  • 深度学习学习率调度器原理与工业级实战指南
  • AI资讯简报如何成为工程师的技术决策雷达
  • 把AI的能力拆成乐高积木:如何让Agent真正干成复杂的事
  • 开源Agent框架能跑通Demo,但离企业生产还差五个能力
  • 真实系统弱口令爆破的三大硬核细节:Payload位置、滑动窗口与请求指纹
  • Phi-3.5与Minitron小模型技术路径深度对比
  • 滤光片原理与应用:从光谱管理到光学系统性能提升
  • TensorFlow手写单词识别:CNN-LSTM-CTC实战指南
  • 从零搭建 AI 搜索引擎:我给装上了智能记忆,还踩了这些坑