【问题标题】:SonarQube build errors in TFS 2017TFS 2017 中的 SonarQube 构建错误
【发布时间】:2018-05-19 17:58:30
【问题描述】:

目前在我们的 TFS 2017 构建的“完成 SonarQube 分析”步骤中出现以下错误:

2017-12-05T22:04:24.5437340Z ##[error]System.Management.Automation.CommandNotFoundException:术语“Get-TaskVariable”未被识别为 cmdlet、函数、脚本文件或可操作的名称程序。检查名称的拼写,或者如果包含路径,请验证路径是否正确并重试。

2017-12-05T22:04:24.5837397Z ##[error]System.Management.Automation.RuntimeException:找不到 MSBuild.SonarQube.Runner 可执行文件。检查构建定义是否包含 SonarQube Pre-Build 步骤 ---> System.Management.Automation.RuntimeException:找不到 MSBuild.SonarQube.Runner 可执行文件。检查构建定义是否包含 SonarQube Pre-Build 步骤

SonarQube 版本:6.7 版(内部版本 33306) 适用于 MSBuild 的 SonarQube 扫描仪版本:3.0.2

“准备 SonarQube 分析”步骤在 Visual Studio 构建步骤之前完成,没有错误。

【问题讨论】:

  • 您在 TFS 构建定义中使用最新的 SonarQube 组件吗?

标签: tfs msbuild sonarqube


【解决方案1】:

根据错误似乎 SonarQube.Runner 没有被 TFS 构建代理捕获。

再次确认 SonarQube Scanner for MSBuild - Begin Analysis 任务中的配置,该任务用于在执行构建之前准备分析。例如 SonarQube 端点

此外,在构建代理上:

  • 确保已安装 .NET Framework v4.5.2+
  • 确保已安装 Java Runtime Environment 8

来源链接:Analyzing with SonarQube Extension for VSTS/TFS

尝试用一个简单的测试项目创建一个新的构建定义,看看是否有同样的错误。

【讨论】:

  • .NET Framework 4.7 版,Java 版本 8 更新 111 安装在代理上。我将尝试构建一个新的构建代理服务器,看看是否有帮助。
  • @KittHolland 是的,您应该尝试这些,因为系统功能仅在首次配置代理时才被发现——此后所做的任何更改都不会被捕获。您需要使用 TFS 重新注册构建代理,stackoverflow.com/questions/43605989/…
  • 这是非常好的信息,谢谢。您可以更新功能还是必须重新安装?当我回到办公室确认时,我会比较这些能力。
  • @KittHolland 您不必重新安装它。重新配置或重新安装构建代理后,TFS 将自动捕获并更新代理的新功能。
  • 嗨@KittHolland,关于这个问题的任何更新,你知道了吗?
猜你喜欢
  • 2019-03-17
  • 1970-01-01
  • 2018-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-04
  • 2015-03-31
  • 1970-01-01
相关资源
最近更新 更多