当前位置: 首页 > 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.jsqmd.com/news/868606/

相关文章:

  • 【NotebookLM效应量计算实战指南】:20年统计学专家亲授3大避坑法则与5步精准计算流程
  • 【YOLO目标检测全栈实战】66 YOLO模型部署中的“冷启动”问题:如何让模型在真实场景中快速进入状态
  • 2026新疆线缆厂家大全:新疆电缆厂家+新疆电力线缆厂家+新疆电力电缆厂家+新疆高压电缆厂家+新疆输变电线厂家汇总 - 栗子测评
  • 港口数智升级|亚控KingSCADA打造设备精细化运维平台
  • 别再死磕论文修改!paperxie 一站式解决查重 + 降 AIGC 两大难题
  • 小程序数据采集(11)- IDA Pro逆向SO层与ARM汇编寻址详解
  • cesium笔记
  • 靠谱的奥迪维修保养服务商推荐
  • 小程序生命周期
  • 2026硬包装塑胶模具厂家推荐:多穴模具定制加工厂+多腔精密模具厂家推荐盘点 - 栗子测评
  • 【NotebookLM风格一致性终极指南】:20年AI产品专家亲授3大校准框架与5步落地法
  • 2026年口碑好的惠州短视频推广高性价比公司 - 行业平台推荐
  • 《QGIS空间数据处理与高级制图》021:按属性字段融合要素
  • C++ 第十五章第十六章 案例教程 + 全课程回顾
  • 聊天服务器架构设计
  • 2026薄壁注塑模具厂家推荐:食品包装模具定制厂家指南 - 栗子测评
  • 第七章 指令微调学习(四)基于指令数据对大语言模型进行微调
  • AI 矩阵带货怎么做起来?现成系统一站式搭建落地
  • 深入了解指针(3)
  • 泰国双清包税哪家好?泰国清关哪家强?2026泰国海运清关强的公司+泰国陆运清关强的公司合集 - 栗子测评
  • Golang技术周刊 2026年第16周
  • 别再死磕修改了!paperxie 一站式搞定论文查重与降 AIGC 率,毕业党速码
  • 【编号110】64个地级市土地利用图
  • 开源fNIRS脑机接口帽技术解析与应用
  • 2026避雷塔厂家推荐:新疆角钢塔厂家+变电站架构+新疆钢管塔厂家+钢管杆厂家推荐精选 - 栗子测评
  • 2026 小众暴利 AI 项目,AI短剧带货,简单复制就能盈利
  • 开发靠 AI 提效,测试成最大瓶颈,现状过于真实
  • tensorflow:昇腾CANN的TensorFlow适配层
  • Python之anonymate包语法、参数和实际应用案例
  • c#基础知识合集08 随机数 DateTime