【问题标题】:Not able to integrate TFS 2015 with SonarQube无法将 TFS 2015 与 SonarQube 集成
【发布时间】:2018-10-13 20:56:30
【问题描述】:

目前我正在尝试将 TFS 2015 与 SonarQube 集成,但没有结果,情况是没有提到如何更新构建代理以考虑 SonarQube.MSBuild.Runner。 当我开始集成这两个系统时,错误是 c# sonar 插件版本与 SonarQube 运行器不兼容,因此决定覆盖 Build 代理中包含的所有文件以进行 sonarqube 预构建 C:***\Agent\tasks\SonarQubePreBuild\1.0.35\MSBuild.SonarQube.Runner-1.1 使其工作,但我不确定这是否是正确的工作方式。

其他信息:

TFS 版本:TFS 2015 更新 4.1

SonarQube 版本:6.7.3

SonarQube C# 插件版本:7.0.1.4822

MSbuild 版本:15.0

MSBuild SonarQube 扫描仪:4.2.0.1214-net46

编辑: 只是让您知道,我没有更新代理,我使用的是安装 Sonarqube 之前使用的相同代理。

【问题讨论】:

  • 如果您使用的是新的 TFS/VSTS(即非 XAML)构建系统,则不应直接更新 SonarQube.MSBuild.Runner。相反,从 VSTS 市场 (marketplace.visualstudio.com/…) 安装最新版本的 SonarQube VSTS 扩展。
  • 我已经这样做了,但没有运气,安装后它只在集合配置面板的服务选项卡中显示 SonarQube 作为选项,我错过了什么吗?
  • 服务选项卡是关于配置外部端点的。你想“管理扩展”——点击右上角的购物袋图标(见docs.microsoft.com/en-us/vsts/marketplace/…)。 SonarQubePreBuild 任务肯定不在最新版本中 - 最新任务现在命名为 SonarQubePrepareSonarQubeAnalyzeSonarQubePublish .您需要安装新版本的扩展,然后编辑构建定义以使用新任务。
  • 请为您的问题提供更多信息,以便更容易为您提供帮助
  • @duncanp,我已经安装了扩展,但是构建步骤没有任何变化,我需要重新启动 tfs 服务器吗?

标签: c# tfs msbuild sonarqube sonarqube-scan


【解决方案1】:

这是一个兼容性问题。实际上,错误消息已经表明正如您提到的“c# sonar plugin version is not compatible with the SonarQube runner”。

只需检查SonarQube Extension for VSTS/TFS CompatibilityCompatibility with the SonarQube C# plugin

3.x 版兼容:

  • TFS 2015 更新 3
  • TFS 2017 更新 1
  • VSTS

4.x 版兼容:

  • TFS 2017 更新 2+
  • TFS 2018
  • VSTS

注意: 如果您在 TFS 上运行早于 2017 Update 2,则需要下载并手动安装最新的 3.x 版本 VSIX。您可以在“Releases”页面下载 VSIX GitHub 存储库您可以在 SonarQube Extension 3.0

上浏览文档

因此,在您的场景(TFS 2015 Update4.1)中,您需要遵循"SonarQube Extension 3.0" documentation page 上提供的说明。

以下文章供您参考:

INTEGRATE SONARQUBE IN YOUR TFS OR VSTS BUILD


更新:

仍然是兼容性问题,基于此Plugin Version Matrix SonarQube Version: 6.7.3c# plugin 6.6 不兼容,它与C# plugin 7.1 兼容。

在您的情况下,我建议您使用c# plugin 6.6 降级到SonarQube server v6.x,因为您必须安装"SonarQube Extension 3.0" 才能支持TFS 2015。

【讨论】:

  • 我也已经按照这些步骤操作了,但没有运气,我是否需要将 sonarqube 扫描仪作为一项功能添加到代理?
  • @Yazid 不需要这样做,只要确保一切都符合兼容性。例如如果你安装了“SonarQube Extension 3.0”,你需要安装SonarQube C# plugin version 4.5 -6.6
  • 抱歉延迟回答,我已将 sonarqube c# 插件降级为 6.6 版本 SonarQube 服务器上安装的 C# 插件与 SonarQube 分析代理(即 MSBuild.SonarQube.Runner)不兼容。 exe,或构建自动化任务)
  • 我认为问题来自代理,因为它使用旧版本:C:\tasks\SonarQubePreBuild\1.0.35\MSBuild.SonarQube.Runner-1.1\SonarQube.Analysis.xml 所以我认为 1.0.35 是兼容性矩阵中未提及的版本
  • @Yazid 仍然是兼容性问题,基于此Plugin Version Matrix SonarQube Version: 6.7.3 c# plugin 6.6 不兼容,它与C# plugin 7.1 兼容。在您的情况下,我建议您使用c# plugin 6.6 降级到SonarQube server v6.x,因为您必须安装"SonarQube Extension 3.0" 才能支持TFS 2015。
猜你喜欢
  • 1970-01-01
  • 2017-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-22
  • 2020-12-13
  • 2017-08-04
  • 2015-08-10
相关资源
最近更新 更多