运行SonarQube分析扫描 - SonarSource构建包装器

Dor*_*ruF 9 c++ jenkins sonar-runner sonarqube

我刚开始运行SonarQube扫描,我在Jenkins的日志中收到此错误消息:

16:17:39 16:17:36.926错误 - 准确分析C/C++/Objective-C项目的唯一方法是使用SonarSource构建包装器.如果出于任何原因,在项目中无法使用构建包装器,则可以借助"sonar.cfamily.build-wrapper-output.bypass = true"属性绕过它.通过使用该属性,您将切换到"最佳"模式,可能导致误报和假阴性.

有人可以建议我在哪里找到并运行这个SonarSource构建包装器吗?

非常感谢你的帮助!

Abh*_*ble 13

要解决此问题,请直接从SonarQube服务器下载Build Wrapper,以使其版本与您的插件版本完全匹配:

可以从URL下载适用于Linux的Build Wrapper

http://localhost:9000/static/cpp/build-wrapper-linux-x86.zip
Run Code Online (Sandbox Code Playgroud)

解压缩下载的Build Wrapper,在PATH中配置它,因为它更方便

export PATH=$PATH:/path/where/you/unzip
Run Code Online (Sandbox Code Playgroud)

完成后,运行以下命令.

build-wrapper-linux-x86-64 --out-dir <dir-name> <build-command>
build-wrapper-linux-x86-64 --out-dir build_output make clean all
Run Code Online (Sandbox Code Playgroud)

完成所有这些后,您必须使用以下行修改sonar-project.properties文件.注意dir-name是我们在上一个命令中定义的目录.

sonar.cfamily.build-wrapper-output=<dir-name>
Run Code Online (Sandbox Code Playgroud)

然后你可以运行声纳扫描仪命令.

sonar-scanner
Run Code Online (Sandbox Code Playgroud)

这将对您的代码进行分析.有关详细信息,请查看此链接.

  • 出口部分挽救了我的一天。实际上,在声纳尔文档中并未适当提及这一点。 (3认同)
  • 我收到以下错误(可能与缺少有效签名有关)dyld:警告:由于找不到合适的映像,无法将插入的库'libinterceptor.dylib'加载到经过库验证的进程中。确实找到了:libinterceptor.dylib:代码签名阻止了'libinterceptor.dylib'的mmap()libinterceptor.dylib:stat()失败,错误号为errno = 1 (2认同)