sonar scanner配置

2023-11-14

sonar scanner配置

这里记录如何配置sonar scanner扫描C/C++项目代码。话不多说,先上官网链接

1. 环境

对于C/C++项目,如官网所言,我们需要两个工具(如下):

  • SonarSource Build Wrapper
  • Compilation Database
  • Sonar Scanner

1.1 SonarSource Build Wrapper

Build Wrapper最好从你的Sonarqube服务器下载,这样可以确保服务器和Build Wrapper插件版本是匹配的。

  • Linux
    {SonarQube Server URL}/static/cpp/build-wrapper-linux-x86.zip
  • macOS
    {SonarQube Server URL}/static/cpp/build-wrapper-macosx-x86.zip
  • Windows
    {SonarQube Server URL}/static/cpp/build-wrapper-win-x86.zip

1.2 sonar-scanner

sonar-scanner的安装,请参考官网.
在这里插入图片描述
对于Windows用户而言,sonar-scanner是免安装的,可直接使用。

2. 使用

2.1 Compilation Database

对于Compilation Database不需要安装,他是1.1 Build Wrapper和编译器的产物,最后调用Sonar Scanner的输入。

// example for linux
build-wrapper-linux-x86-64 --out-dir build_wrapper_output_directory make clean all
 // example for macOS
build-wrapper-macosx-x86 --out-dir build_wrapper_output_directory xcodebuild clean build
// example for Windows
build-wrapper-win-x86-64.exe --out-dir  build_wrapper_output_directory MSBuild.exe /t:Rebuild /nodeReuse:False

2.2 执行sonar-scanner

执行sonar-scanner的时候,确保Compilation Databasesonar-project.properties在同一文件夹。最后,run sonar-scanner

  • Linux
sonar-scanner
  • Windows
./sonar-scanner.bat

3. 注意

在执行sonar-scanner的时候,有时候会失败,有很多原因。

  • sonarqube服务器没有找到
    在这里插入图片描述
    可以查看,你的sonar-scanner的配置文件,如下:
    在这里插入图片描述
    其中sonar.host.url是你服务器的url,sonar.login则是你用户生成的一个Access Token(因为它,你才可以访问你的sonarqube服务器)。

  • sonar-scanner没有找到Compilation Database

  • 编译失败了,导致compilation Database生成不全

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sonar scanner配置 的相关文章

  • SonarQube多模块和多子文件夹项目配置

    我有一个多模块sbt项目具有以下结构 parent child1 src group child1 src child2 src 我需要配置 SonarQube 来扫描 可能 嵌套文件夹中的所有模块 Note I have child1 a
  • SonarQube:一天有多少小时的技术债务?

    如果 SonarQube 说我在某个项目中有 1 天的技术债务 那么这是否会转化为 24 小时的技术债务或 8 小时的技术债务 从几小时到几天的转换是可定制的 默认情况下为 8 小时 但您可以通过转至管理 gt 配置 gt 技术债务来找到您
  • 误报选项不会出现在项目中

    我在 Ubuntu 12 01 机器上使用 Sonarqube 我使用 Sonar Runner 和 Jenkins 插件来分析我的代码 当我对新项目进行分析时 问题就出现了 例如 我已经保存了 Sonar A 和 B 项目 如果我对该项目
  • sonarqube gradle 插件不包括 jacoco 集成测试

    我正在尝试将 sonarqube gradle 插件与 jacoco 插件集成 类路径 org sonarsource scanner gradle sonarqube gradle plugin 2 1 应用插件 org sonarqub
  • Sonar 5.1 问题列表 - 如何按问题类型分组

    我们如何识别当前代码库中项目中最常见的问题类型 我们最近从 Sonar 4 5 升级到 5 1 在4 5中 我们曾经查看特定项目中的问题列表 并且问题按问题类型分组 例如 在一个项目中 规则 使用记录器记录此异常 可能是最常见的关键规则 有
  • 为什么 TFS 2017 Sonar Build Definition 给出“未指定有效规则”错误?

    我有一个为 HTML TypeScript Javascript 创建的 TFS 2017 构建定义 它执行声纳任务 在执行声纳构建定义后 我得到错误 未指定有效规则我的构建摘要中显示的消息 此错误是在构建定义中的运行代码分析任务期间创建的
  • 无法解决 SonarQube 错误“使该行从第 3 列开始”

    我在 xml 中有很多行都存在此错误 布局 字符串 可绘制对象 我尝试将每列的空间更改为 3 在出现此错误的行中放置 3 个选项卡 但在 SonarQube 中仍然出现此错误 我该如何解决这个问题 我在这里举了一个我收到此错误的示例
  • 使用 Jacoco 从 Sonar 的条件覆盖范围中排除 groovy slf4j 日志记录

    我们使用 SonarQube 5 1 和 Jacoco maven 插件 0 7 4 以及我们所有的 slf4j 日志记录语句 例如log debug Something happened 表明仅覆盖了 2 个分支中的 1 个 我明白这是因
  • 本地分析需要 Sonar 3.6 版本

    遇到 执行本地分析需要声纳版本 3 6 消息 当尝试在 eclipse 中使用声纳本地分析时 我刚刚安装了最新的CodeHaus http docs codehaus org display SONAR Installing SonarQu
  • 元素“sonar:sonar”的前缀“sonar”未绑定

    我有一个 build xml 文件 看起来像这样
  • 从 gitlab docker runner 启动声纳扫描仪

    我有一个 CI 工作流程 集成了 linting 作业和代码质量作业 我的 Linting 工作是一个 docker runner 从应用程序代码启动我的 eslint 脚本 然后我的代码质量工作应该启动声纳扫描仪泊坞窗实例 检查我的代码并
  • 声纳违规:安全性 - 使用 byte[] 时直接存储数组

    我确实遇到过以下两篇关于类似问题的帖子声纳违规 https stackoverflow com questions 11580948 sonar violation security array is stored directly and
  • Sonar Xerces 与 Findbugs 和 ivy 发生冲突:报告

    我正在尝试让声纳为一个包含 Findbugs 规则的质量配置文件的项目工作 然而 在分析项目时 声纳蚂蚁任务崩溃并出现以下错误 Caused by java io IOException SAX2 driver class org apac
  • 声纳问题:确保该记录器的配置是安全的

    我在 Sonar 上的代码遇到以下问题 确保该记录器的配置是安全的 我写的代码是 public static final Logger logger Logger getLogger logger if logLevel equalsIgn
  • 声纳发射错误

    当我尝试使用 mysql 启动声纳时 我遇到以下错误 我是否需要修改 sonar properties 文件中有关弹性配置的任何详细信息 以前有人遇到过类似的错误吗 014 12 15 21 38 49 WARN sea o e trans
  • 声纳要求将这一领域定为最终目标

    我的程序中有以下代码 在与 Maven 集成后 我正在运行 SonarQube 5 对其进行代码质量检查 我面临这个错误 将此 public static processStatus 字段设为最终字段 将此 public static pr
  • 如何在sonar.properties中配置SMTP?

    SonarQube 的 SMTP 设置可以在 Web UI 中更改 我如何在中设置这些 SMTP 设置sonar properties配置文件 您还可以使用sonar properties定义 smtp 设置 但不推荐这种方法 因此几乎没有
  • 是否可以从命令行告诉 Sonar 项目名称?

    我公司创建的每个项目都会在 Sonar 中使用新的命名约定 所以有些项目的名称是缩写的 有些项目的名称是驼峰式的 有些项目的名称只是带有空格的单词 如果我们能通过sonar runner a project name参数 那么这将让我们拥有
  • sonarqube 缺少项目仪表板

    我有 SonarQube 6 1 当我从主仪表板项目小部件中单击项目条目时 我会进入项目主页 其中显示 质量门已通过 并列出了一些问题 错误 漏洞 代码异味 和 重复 在左侧靠近顶部的项目名称下方 有一个 主页 图标 右侧显示 问题 措施
  • SonarQube 进程已退出,退出值 [es]:137

    我想在我的 vps linux x86 64 debian 9 上安装声纳 但是当我执行这个 cdm sonar sh 控制台时 我有以下日志 Running SonarQube wrapper gt Wrapper Started as

随机推荐

  • 视频质量算法有几种的介绍,视频质量技术及编码

    首先介绍SSIM是一种全参考 Full Rerence 视频质量评价算法 全参考视频图像质量评价指标 它分别从亮度 对比度 结构三方面度量视频图像相似性 而全参考评价算法必须同时知道原始视频和失真视频 也就是想计算结构相似度 就得先找到两个
  • 打开win7的系统更新服务器失败,win7的windows update无法启动,手动在服务里启动提示“错误2:系统找不到指定文件...

    您好 该问题有可能是系统文件损坏导致的 建议您尝试以下方法操作 方法一 建议您暂时卸载掉电脑上安装的第三方杀毒软件 再打开控制面板 操作中心 疑难解答 点使用Windows Update 解决问题 根据提示自动修复更新是出现的问题 方法二
  • 关于HttpClient请求获取数据

    httpClient请求获取网站数据 今天一网友问我 他写的httpClient请求为什么获取不到数据 他写的代码如下 StringBuffer buffer new StringBuffer String url1 http api ji
  • 深入云存储系统Swift核心组件:Ring实现原理剖析

    深入云存储系统Swift核心组件 Ring实现原理剖析 简介 OpenStack是一个美国国家航空航天局和Rackspace合作研发的开源云计算项目 并成为Apache下的一个重要开源项目 目前已经发展到了180家公司参与其中 OpenSt
  • MySQL学习笔记

    Windows服务 启动MySQL net start mysql 创建Windows服务 sc create mysql binPath mysqld bin path 注意 等号与值之间有空格 连接与断开服务器 mysql h 地址 P
  • 改造QTabWidget的QTabBar,自绘随意控制样式,不同颜色

    1 简介 本文介绍通过自绘 随意定制QTabWidget的 TabBar的方法 可设置不同Tab页的不同背景色 前景色 边框 鼠标三态色 尺寸 以及绘制其他自定义内容 如角标 2 效果 3 主要思路 继承QTabBar 改尺寸就是重写 ta
  • CSDN周赛60期简要题解

    一转眼 周赛都举办了60期了 还以为可以 寿终正寝 了 结果61期又安排上了 打开一看 还是 计算之魂 主题的周赛 还是这种 4 非编程 2 编程 的题型 可能目前就指望着 计算之魂 主持大局 了 C 站的有生力量全扑在研发 开发各种各样酷
  • Remix 以太坊Solidity IDE搭建与初步使用

    以太坊 因为以太坊为开源社区 虽然东西很优秀 但是组件十分的杂乱 因此首先简单介绍下以太坊的一些常用组件 1 Geth Geth是由以太坊基金会提供的官方客户端软件 用Go编程语言编写的 2 Parity Parity 是对以太坊协议的另一
  • Centos7安装后没有图形界面

    Centos7虚拟机安装好后重启只能进到命令行不能进入图形界面 原因 安装时没有安装图形界面 选择了Minimal Install 解决方法 安装过程中将设置SOFTWARE SELECTION勾选GNOME Desktop gt Deve
  • 如何创建React项目

    前言 构建React项目的几种方式 create react app 脚手架快速搭建 react 项目 推荐 yeoman 脚手架搭建 react 项目 webpack 一步一步构建 react 项目 脚手架是什么 脚手架是一种约定和规范
  • MOS管的作用及原理介绍

    MOS管的英文全称叫MOSFET Metal Oxide Semiconductor Field Effect Transistor 即金属氧化物半导体型场效应管 属于场效应晶体管中的绝缘栅型 因此 MOS管有时被称为场效应管 在一般电子电
  • Modbus RTU 工业通讯技术实现

    Modbus 是一个工业上常用的通讯协议 一种通讯约定 ModBus 协议是应用层报文传输协议 OSI 模型第7层 它定义了一个与通信层无关的协议数据单元 PDU 即PDU 功能码 数据域 ModBus 协议能够应用在不同类型的总线或网络
  • javaWeb中如何防止两个人同时操作同一条记录(限制单人操作),使用redis的解决方式

    最近在做demo的时候 碰到这么一个问题 当页面上同一角色有两个人登录的时候 他们同时操作统一条记录 简言之就是 同一记录同一时刻多人操作 这种情况在我的业务中回导致数据的冗余 干扰正常的程序运行 当时想到的解决办是锁表或者使用缓存 当然其
  • h0105 (10 分) c/c++

    c 代码 include
  • 互联网摸鱼日报(2023-03-29)

    互联网摸鱼日报 2023 03 29 InfoQ 热门话题 阿里再启组织变革 六大业务集团全面独立经营 张勇 具备条件的业务都可能独立上市 新一代Serverless事件中间件EventMesh正式毕业为Apache顶级项目 杭银消金基于
  • AVR单片机ATemga328P中断原理的介绍

    1 一AVR单片机中断原理的介绍 ATmega328P微控制器具有两个外部中断引脚 分别是INT0和INT1 外部中断0 INT0 它对应的引脚是PD2 数字引脚2 INT0可以用于响应外部信号的边沿触发 上升沿 下降沿或任意边沿 并触发相
  • 深聊全链路压测之:第二十讲

    日志隔离落地方案 1 引言 2 Demo预演 2 1 技术方案选型 2 2 Demo系统预演 2 3 扩展知识 日志分离 3 总结 1 引言 这节课 我们来学习如何基于微服务技术落地日志隔离 从第14讲开始 我们就详细的落地了基于微服务技术
  • linux服务器怎么添加路由,linux系统中添加路由的方法

    linux系统中添加路由的方法 发布时间 2020 06 17 11 38 59 来源 亿速云 阅读 95 作者 Leah 这篇文章将为大家详细讲解有关linux系统中添加路由的方法 小编觉得挺实用的 因此分享给大家做个参考 希望大家阅读完
  • Android webview实现h5视频全屏播放兼容Android7.0,自己添加webview库兼容全部版本

    2017年Android5 0主流机型webview的兼容性出现大问题导致很多公司app都不使用h5播放视频 关于谷歌自带的webview有各种兼容问题 最典型的的就是视频全屏onShowCustomView经常会点击不回调 可能是谷歌推崇
  • sonar scanner配置

    sonar scanner配置 这里记录如何配置sonar scanner扫描C C 项目代码 话不多说 先上官网链接 文章目录 sonar scanner配置 1 环境 1 1 SonarSource Build Wrapper 1 2