1

任何人都可以帮助我了解在单个管道中执行多个声纳扫描的必要条件吗?我读过 sonarcloud 不支持将多个项目扫描到一个项目中,所以我将它们分成不同的 sonarcloud 项目。

我在托管构建代理上使用市场上的 SonarCloud 扫描仪扩展。

我有一个相当大的 .net ASP.NET MVC 遗留框架应用程序,它还在 Scripts 文件夹中包含一个 reactjs 应用程序。我不想在 msbuild 扫描中包含 reactjs 文件,因为这是不断变化的,并且开发人员使用 vscode 而不是 Visual Studio。让 csproj 保持最新状态将是一场噩梦。

所以我想使用独立扫描仪单独扫描 reactjs 文件夹,并将 msbuild 扫描仪与 .net 应用程序一起使用。

扫描仪适用于 .net 应用程序,但我无法从独立扫描仪获得任何扫描输出。它只显示一个空结果。

我有以下任务...

准备分析(单独的 sonarcloud 项目) npm install npm build 运行分析

Prepare Analysis (for .net) (单独的 sonarcloud 项目) nuget restore visual studio build task 运行分析

发布构建门 上传工件

我已经设置了 .net 项目的 sonar.exclusions(在 sonarcloud 管理设置中,而不是在我的 scm 中的文件中)以排除 reactjs 文件夹(Scripts/react/**/*),并扫描 .net项目似乎工作。

我已将 javascript 扫描器任务的 sonar.sources 设置为 reactjs 文件夹

但是,javascript 扫描是空的。

我很茫然...

这是我在同一管道中运行两次扫描的事实吗?我还需要在 JS 扫描后运行构建门吗?第二次扫描会覆盖第一次吗?运行分析实际上是发布结果还是发布构建门?

4

1 回答 1

1

所以问题是我在我的独立扫描仪中使用了一个包含参数来只扫描子文件夹。问题是我的假设是包含植根于源文件夹,但实际上它植根于项目根文件夹(可以配置)。

因此,将路径从根更改为绝对路径可以解决问题。

于 2020-05-30T03:45:45.280 回答