首页/文档/DevOps与CI/CD/SonarQube 独立集成

SonarQube 独立集成

使用 CppDepend 的 SonarQube 插件增强您的 C/C++ 开发

重要:

本文档涉及 完整的C/C++ SonarQube集成,从而无需安装任何用于源代码解析的 SonarQube C++ 插件。如果您使用的是其他 C/C++ SonarQube 插件,并且只想导入 CppDepend 问题,请参阅……的文档 SonarQube Light集成。

要在机器上运行 CppDepend,您必须先激活您的 专业DevOps许可证评估期 在机器上解压 CppDepend 文件后,运行 VisualCppDepend.exe 一次。如果机器已连接到互联网,将进行简短的激活过程。

如果计算机处于离线状态,将提供替代的离线激活程序,必须完成该程序才能使用 SonarQube CppDepend 插件。

CppDepend SonarQube 插件兼容 SonarQube 5.6 及以上版本。

C/C++插件先决条件

  • 安装 SonarQube.
  • 安装 SonarQube Scanner 或旧的Sonar Runner。
  • 将 SonarQube Scanner 或 SonarRunner 的 bin 目录添加到 PATH 环境变量。

插件安装和配置

  • 复制 sonar-cxx-cppdepend-standalone-plugin-1.0$CppDependInstallDir$/Integrations/SonarQube$SonarQubeInstallDir$\extensions\plugins 目录并重启SonarQube。
  • 默认的 CppDepend 规则会加载到 SonarQube 规则库中。但是,如果您需要自定义这些规则,可以使用位于 SonarQube Administration 选项卡下的 .cdproj 文件路径来定义您自己的自定义规则。SonarQube中的CppDepend规则
  • 您必须以管理员身份登录,并在所需的配置文件中激活 CppDepend 规则。激活CppDepend规则
  • 运行Sonar-Scanner

    这是 SonarQube文档 关于从命令行参数运行 Sonar-Scanner。

    CppDepend项目文件参数是 强制 -D sonar.cpp.cppdepend.projectPath={the path of cdproj}.

    CppDepend扫描器可执行参数是 强制 -Dsonar.cppdepend.scanner=$CppDependInstallDir/Libs/CppDepend.SonarQubeScanner.exe.

    在Windows上:
    >sonar-scanner -Dsonar.cpp.cppdepend.projectPath={cdproj的路径} -Dsonar.cppdepend.scanner="$CppDependInstallDir/Libs/CppDepend.SonarQubeScanner.exe"
    在Linux/macOS上:
    >sonar-scanner -Dsonar.cpp.cppdepend.projectPath={cdproj的路径} -Dsonar.cppdepend.scanner="$CppDependInstallDir/libs/CppDepend.SonarQubeScanner"

    不要在路径中使用任何环境变量,如果路径包含空格字符,请用双引号括起来 -D sonar.cpp.cppdepend.projectPath="C:\work with space\project.cdproj"

插件功能

  • 多模块分析: 一个 CppDepend 项目可以包含多个 C/C++ 项目。分析之后,CppDepend 不会将所有代码放在同一个 SonarQube 模块中。相反,它会创建一个多模块 SonarQube 项目,将每个项目隔离到单独的模块中,从而使代码导航变得非常容易。多模块SonarQube分析
  • 问题: CppDepend 默认提供 250 多条规则,您可以轻松地完全自定义。CppDepend 提供了一种强大的方法来 计算技术债务 的问题。CppDepend 的技术债务和问题严重程度会传递给 SonarQube。SonarQube中的CppDepend问题
  • 标准度量: 插件会计算所有标准 SonarQube 指标。SonarQube中的标准度量
  • 代码重复: 重复代码由 SonarQube 内嵌的 CPD 工具检测。SonarQube中的代码重复
  • 覆盖率: 插件从 Cobertura 和 Microsoft Visual Studio XML 结果文件加载覆盖率结果。但是,您必须设置 XML 覆盖率文件所在的路径。代码覆盖率配置SonarQube中的代码覆盖率

立即试用 CppDepend

开始 14 天免费试用,畅享全部文档功能。无需信用卡。