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 以 143 退出

    我正在尝试在具有 6GB RAM 的 Centos 6 VM 上设置 SonarQube 该进程始终以 143 退出 经过分析 我发现 JVM 被发送了一个 SIGTERM 信号并因此退出 没有核心转储 dmesg 也没什么帮助 我也尝试摆
  • 如何使用邮递员测试获得代码覆盖率

    我们在 RestEasy 中创建了 REST 服务 并在 Wildfly 服务器中运行 我们正在运行 Postman 测试用例来测试 Rest URL 当我们执行邮递员测试套件时 有没有办法获得服务的代码覆盖率 我们使用SonarQube来
  • 从 SonarQube 删除项目

    有谁知道如何从 SonarQube 服务器删除项目 谢谢 罗南 您有 2 种方法可以删除项目 如果您是项目的管理员 则可以从其配置操作中将其删除 gt 参见 项目管理 文档页面中的 删除项目 https docs sonarqube org
  • 如何在 Linux 容器中运行 .NET Core 解决方案的 SonarQube 分析?

    我想在 Linux 容器中运行 SonarQube 分析他们的新支持 https www nuget org packages dotnet sonarscanner用于 dotnet 全局工具 我想知道在这种情况下配置 服务器 URL 用
  • 此电子邮件验证正则表达式中不可打印控制字符的用途是什么?

    背景资料 我们使用 SonarQube 来获取有关代码库的质量指标 根据规则 SonarQube 在我们的 Node js 代码库中标记了十多个错误S6324 https rules sonarsource com javascript R
  • SonarQube多模块和多子文件夹项目配置

    我有一个多模块sbt项目具有以下结构 parent child1 src group child1 src child2 src 我需要配置 SonarQube 来扫描 可能 嵌套文件夹中的所有模块 Note I have child1 a
  • Maven SonarQube 多模块

    我有一个由多个模块组成的项目 我正在尝试使用 SonarQube 来分析这些 我已将 Sonar Maven 插件作为依赖项包含在每个模块中
  • 声纳:“关闭这个PreparedStatement”

    Why is 声纳Qube http docs sonarqube org 如果我在finally块中关闭它 Jenkins的插件会抱怨打开的语句 我需要在单独的函数中验证数据库连接 final String PING SELECT 1 f
  • 通过shields.io徽章添加SonarQube覆盖范围

    我有 com github xxxxxx xxxxxx Maven 存储库 我想添加盾牌徽章 但我有一个无效徽章 https img shields io sonar https sonarqube com com github norau
  • 使用 Cobertura 和 Jacoco 运行代码覆盖率

    我在获取 Maven 插件项目 使用调用程序插件进行集成测试 的 Sonar 中的集成测试和单元测试的代码覆盖率报告时遇到了一些问题 我无法使用默认的 Jacoco 覆盖率工具进行单元测试 因为这些工具使用 Powermock 这会导致使用
  • 声纳扫描仪引擎未启动

    我按照以下说明进行操作使用 SonarQube Scanner for Ant 进行分析 https docs sonarqube org display SCAN Analyzing with SonarQube Scanner for
  • 使用 Jenkins Sonar 插件成功构建后,Sonar 不显示代码覆盖率

    我正在尝试使用 Sonar 和 Jenkins 来获得代码覆盖率 我看到 Jenkins 的 Sonar 插件成功执行了 JUnit 测试用例并成功完成了构建 但 Sonar 不会在项目上显示代码覆盖率结果 代码覆盖率始终显示 0 0 但声
  • SonarQube REST API:读取各个项目的指标

    我的问题 我正在使用 SonarQube 7 1 版 并尝试提取与各个项目相关的指标和质量门 我们尝试过什么 在我们公司升级到 7 1 版本之前 我们使用 Python SonarQube API 来提取这些数据 api resources
  • 无法将 SonarQube 分析结果与 VSTS 集成

    我正在 VSTS 中使用准备 运行和发布分析任务来运行 SonarQube 分析并发布结果以构建摘要 前两个步骤成功执行 但 发布分析 任务失败 因为它无法获取分析 ID 的任务 我收到以下错误消息 无法获取 ID AWE9 wu8 fbf
  • 无法解决 SonarQube 错误“使该行从第 3 列开始”

    我在 xml 中有很多行都存在此错误 布局 字符串 可绘制对象 我尝试将每列的空间更改为 3 在出现此错误的行中放置 3 个选项卡 但在 SonarQube 中仍然出现此错误 我该如何解决这个问题 我在这里举了一个我收到此错误的示例
  • SonarQube - 重复的块,如何更改配置

    SonarQube 向我展示了这种重复 1 package pl com bernas ioz user domain 2 3 import java io Serializable 这不是期望的行为 我可以禁用这种重复吗 但我根本不想禁用
  • 为什么sonar:sonar需要先安装mvn?

    官方文档http docs sonarqube org display SONAR Analyzing with Maven http docs sonarqube org display SONAR Analyzing with Mave
  • SonarQube 6.7 登录时冻结

    我刚刚在带有 MySQL 5 7 的 Ubuntu 16 04 服务器上安装了 SonarQube 6 7 我的同事使用 SonarQube 他们从托管在 GitHub 存储库上的源代码添加了他们的项目 添加了 3 4 个项目后 我们在 M
  • 从 gitlab docker runner 启动声纳扫描仪

    我有一个 CI 工作流程 集成了 linting 作业和代码质量作业 我的 Linting 工作是一个 docker runner 从应用程序代码启动我的 eslint 脚本 然后我的代码质量工作应该启动声纳扫描仪泊坞窗实例 检查我的代码并
  • SonarQube 4 - 如何在升级过程中保留误报违规

    我们使用 SonarQube UI 设置了很多误报违规 您能否建议如何在升级过程中保留这些误报违规行为 我们正在尝试将 Sonar 从 3 5 1 升级到 4 0 似乎那些误报违规行为已被删除 您可以做的一件事是导出误报列表 以便您至少知道

随机推荐

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

    首先介绍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