问题标签 [sonarqube-msbuild-runner]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1205 浏览

github - SonarQube Github 插件没有写问题来拉取请求

问题描述

我已经设置了我们的 CI 工具(Teamcity),每次在 Github 中发出拉取请求时,都会对项目运行 SonarQube 预览分析。为了测试一切是否正常,我在提交拉取请求之前向代码库添加了一些问题。预览分析运行没有任何问题,拉取请求更新为摘要中的以下内容:

sonarqube — SonarQube 没有报告任何问题

问题是我在代码库中引入的新问题都没有写成拉取请求的内联注释。

调试步骤和日志

我第二次运行预览分析,将sonar.verbose属性设置为true以将日志级别设置为 DEBUG。

我使用 Teamcity 中的 MSBuild Runner 执行分析的命令如下:

当分析运行时,我可以从日志中看到 SonarQube 正在处理这些问题(请参阅下面的日志)。因此,工作后 Github Pull Request Issue Publisher 似乎存在问题。以下是日志的摘录:

Github 设置

我在我的用户上添加了一个个人访问令牌,用作sonar.github.oauth属性的输入。我的用户对有问题的 repo 拥有所有权限。该令牌已被赋予“public_repo”范围,以便能够根据文档编写内联评论并更新拉取请求- 只有前者永远不会完成。

插件和工具的版本

  • SonarQube 5.6
  • C# 插件(版本 5.3.2)
  • MSBuild Runner 插件(1.1 版)
  • Github 插件(1.3 版)
  • TeamCity(版本 9.1.7)
  • Github 企业版(2.7 版)

我错过了什么?我还没有尝试过的一件事是创建一个专门的技术 Github 用户,而不是使用我自己的用户和个人访问令牌。这可能是导致问题的原因吗?

0 投票
1 回答
328 浏览

sonarqube-msbuild-runner - SonarQube MSBuild 扫描仪忽略重复项目

是否有忽略重复项目 GUID 的选项?似乎扫描仪将自身连接到构建过程中,并在 ac# 项目上运行构建时创建输出项目。有时会运行多个构建,例如 Silverlight、便携式库、RIA 代码生成,这些都会导致扫描仪生成重复。我试图通过更改 csproj 文件和目标文件来消除 msbuild 中的重复项,但这并不容易(有些项目构建了 3 次),我认为如果只是切换到忽略重复项而不是而不是排除它们。

0 投票
0 回答
158 浏览

c# - 使用 MSBuild.SonarQube.Runner 时如何创建模块?

我正在尝试分析包含 C# 和 C++ 段的复杂代码,早些时候当我使用 sonar-runner 时,我在 sonar-project.properties 文件中为 C++ 部分代码创建了模块,但现在在迁移到 MSBuild.SonarQube 之后。 Runner,我不知道如何提供模块信息,因为没有 sonar-project.properties 文件。如果可以使用 MSBuild.SonarQube.Runner 创建模块,任何人都可以帮助我吗?

提前致谢

0 投票
1 回答
592 浏览

sonarqube - 使用 SonarQube Scanner for MSBuild 控制模块名称

我尝试通过将以下 xml 片段添加到我的 csproj 文件来更改 C# 项目的模块名称:

这按我预期的方式工作(SonarQube 中的模块名称已相应设置)。

问题:这是受支持的还是只是偶然起作用?如果我不得不担心它会随着下一次升级而改变,我真的不想使用这种行为。

生成的 sonar-project.properties 文件包含以下条目:

这可能意味着我的配置或多或少是偶然的。


更新: 以下解释了为什么我要更改某些项目的模块名称:我有几个项目解决方案,例如

在这种情况下,除非我有办法覆盖模块名称,否则我最终会在 SonarQube 中使用两个“Lib”模块。我当然可以重命名项目,但我宁愿能够简单地告诉 SonarQube 使用哪个模块名称。

如果 Sonar Scanner 使用程序集名称而不是项目名称,我也会非常高兴。

0 投票
1 回答
366 浏览

msbuild - 使用 msbuild 步骤执行任务错误失败

我刚刚在我的服务器上安装了最新版本的 sonarqube,并使用 sonar-scanner 可执行文件对我的项目进行了测试。这行得通。

在下一步中,我将使用现有的 SonarQube 构建步骤创建一个新的 VSTS 构建定义。 VSTS 构建定义

当我触发此构建时,在报告已上传到我的 SonarQube 服务器后,它在最后一步失败:

VSTS 构建日志 在此处输入图像描述

SonarQube 服务器日志 在此处输入图像描述

我不知道为什么会发生这种情况,因为声纳扫描仪工作正常。我在我的 MS Build 步骤中使用了相同的参数。

0 投票
2 回答
517 浏览

c# - SONARQUBE 将我的源代码错误地分析为测试代码

我在 Sonarqube 6 中有两个项目,其中一个按预期运行。另一个是分析,但将它发现的代码分类为测试代码。

请参阅以下日志摘录:

请参阅以下部分:

在此 C# 项目中找到的代码已被标记为测试代码,因此尚未进行分析。什么控制这个?我该如何扭转这种行为?

我觉得奇怪的是解决方案中的一个项目被正确分析:

……

我想可能是项目级别的设置,所以删除了原来的SQ项目,新建了一个项目。这没什么区别。我试过添加

但这并没有什么不同。

所以我现在不知道发生了什么。任何帮助表示赞赏。

0 投票
1 回答
628 浏览

sonarqube - SonarQube.Analysis.xml 中 MSbuild 强制参数的扫描仪

有没有办法在 SonarQube.Analysis.xml 中拥有所有强制性参数,例如项目密钥、项目名称和版本?

0 投票
1 回答
165 浏览

msbuild - MSBuild 将 FxCop 警告作为错误抛出。如何将错误改回警告?

我有一个巨大的 C# 项目/解决方案,其中包含 30 多个 .csproj 文件/模块。当我尝试做 MSBuild FxCop 警告作为错误抛出。如何通过修改 .sln 文件或作为 MSBuild 标志禁用警告作为错误设置。

仅供参考:我正在尝试将 FxCop 规则导入 SonarQube

0 投票
1 回答
83 浏览

sonarqube - 使用 msbuild sonarquberunner 合并冲突

作为代码质量的一部分,我们随后svn update运行. 几次我收到下面提到的错误,并在调查代码签出文件夹后发现. 因为我只使用了相同的原因,需要注意的是,在恢复项目时执行得很好,并且在 svn repo 中没有冲突msbuild.exe "project.sln" /t:Build /m:1 /clp:ErrorsOnly"msbuild sonarqube runnermerge conflictsvn update

错误日志

Microsoft (R) Build Engine 版本 14.0.24720.0 版权所有 (C) Microsoft Corporation。版权所有。

一次在此解决方案中构建项目。要启用并行构建,请添加“/m”开关。C:\Program Files\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(4381,5):错误 MSB3541:文件具有无效值“<<<<<<< .mine”。路径中的非法字符。[D:\SNRProjs\Scheduler.Business.csproj]

0 投票
1 回答
481 浏览

sonarqube - sonarqube msbuild 运行程序 NullPointerException

我正在尝试从命令提示符本地运行 SonarQube.Scanner.MSBuild,无论我构建什么项目,我都会收到相同的错误。声纳服务器可通过 Web 界面远程访问。

我正在为 .NET4.0 和 4.5 构建 .NET(C#) 项目,我在本地安装了 .NET 4.5 到 4.6.2。

声纳服务器是 6.1 版,因为我只是在测试我正在使用非常基本的配置,使用内部数据库。

在结束阶段收到错误(SonarQube.Scanner.MSBuild.exe 结束)

任何想法?