jenkins管道sh不适用于一些命令

时间:2018-11-15 21:31:58

标签: .net jenkins jenkins-pipeline core jenkins-declarative-pipeline

我正在尝试运行以下命令来在Jenkins管道中使用sonarqube扫描dotnet核心项目

    sh "dotnet sonarscanner begin /k:projectkey1"
    sh "dotnet build"
    sh "dotnet sonarscanner end"

给我以下错误

    + dotnet sonarscanner begin /k:projectkey1
    No executable found matching command "dotnet-sonarscanner"

我可以与jenkins用户登录同一台服务器,并运行相同的命令而没有任何问题。 请帮助

2 个答案:

答案 0 :(得分:1)

您需要在Jenkins管道中设置dotnet工具路径。

尝试:

  

sh“ export PATH = $ {PATH}:$ {HOME} /。dotnet / tools”

在管道中进行操作之前:

  

sh“ dotnet声纳扫描仪开始/ k:projectkey1”
  sh“ dotnet build”
  sh“ dotnet sonarscanner结束”

答案 1 :(得分:0)

请确保管道中用于代理的用户帐户与您登录并安装了sonarscanner全局CLI工具的用户帐户相同。由于.NET Core全局工具是特定于用户的,因此如果用户不同,它将无法使用。

如果确定是同一用户,则很可能是由cmd.exe needing to be restarted引起的。

如果其他所有方法均失败,请使用you can use SonarScanner.MSBuild.dll for .NET Core而不是全局CLI工具。