在 Azure Devops 上运行 SQ 不会扫描所有文件/子文件夹/项目,尤其是 c# 文件
Posted
技术标签:
【中文标题】在 Azure Devops 上运行 SQ 不会扫描所有文件/子文件夹/项目,尤其是 c# 文件【英文标题】:Running SQ on Azure Devops is not scanning all the files/subfolders/projects especially c# files 【发布时间】:2021-06-27 04:30:03 【问题描述】:所以我遵循了这个指南 - SQ Integration in DevOps
但是即使在完成整个过程之后,SQ 也没有扫描 C# 文件,当我在我的 windows 10 机器上使用 cmd 手动执行它时,它能够扫描所有内容,我在这里遗漏了什么吗??,我没有遇到任何错误
我能够在控制台中收到警告,所以我假设分析有效,但是一旦 SonarQube 启动,就没有提及那里的文件
顺便说一句,我有一个 Xamarin 解决方案,并且我创建了一个 VS Build 管道来构建解决方案中的所有项目
【问题讨论】:
【参考方案1】:查看doc:
C/C++/Objective-C 项目的分析需要Build Wrapper
。它运行构建并收集正确分析 C/C++/Objective-C 项目所需的所有配置(例如宏定义、包含目录等)。 Build Wrapper 不会影响您的构建;它只是窃听它并将它学到的内容写入您指定的目录中的文件中。
由于您使用的是 Windows 10,我们可以通过插入以下脚本来添加 PowerShell script
任务,以使 Build Wrapper 在构建代理上可用
Invoke-WebRequest -Uri '<sonarqube_url>/static/cpp/build-wrapper-win-x86.zip' -OutFile 'build-wrapper.zip'
Expand-Archive -Path 'build-wrapper.zip' -DestinationPath '.'
【讨论】:
但是没有 C/C++ 或目标 C 文件,这是一个基于 .NET 的 Xamarin 解决方案以上是关于在 Azure Devops 上运行 SQ 不会扫描所有文件/子文件夹/项目,尤其是 c# 文件的主要内容,如果未能解决你的问题,请参考以下文章
在 Docker 中运行的自定义 Azure DevOps 构建代理上具有卷装载的测试容器
在 Azure DevOps 中对拉取请求运行选择性测试用例
在 Azure Devops 上运行构建时找不到资产文件 project.assets.json