Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SonarQube扫描仪和Jenkins并行构建_Sonarqube_Sonarqube Scan_Sonarlint_Sonarscanner - Fatal编程技术网

SonarQube扫描仪和Jenkins并行构建

SonarQube扫描仪和Jenkins并行构建,sonarqube,sonarqube-scan,sonarlint,sonarscanner,Sonarqube,Sonarqube Scan,Sonarlint,Sonarscanner,我有两个.NET解决方案,一个在.NET5中,另一个在.NETClassic4.7.2中。每个解决方案都有单独的Jenkins构建作业。每个作业还使用SonarQube的MSBuild扫描仪分析解决方案 我使用的是SonarQube服务器版本8.5 用于.NET 5的扫描仪sonar-Scanner-msbuild-5.1.0.28487-net5.0 用于.NET 4.7.2的扫描仪sonar-Scanner-msbuild-4.10.0.19059-net46 问题 在Jenkins中,当.

我有两个.NET解决方案,一个在.NET5中,另一个在.NETClassic4.7.2中。每个解决方案都有单独的Jenkins构建作业。每个作业还使用SonarQube的MSBuild扫描仪分析解决方案

我使用的是SonarQube服务器版本8.5
用于.NET 5的扫描仪
sonar-Scanner-msbuild-5.1.0.28487-net5.0

用于.NET 4.7.2的扫描仪
sonar-Scanner-msbuild-4.10.0.19059-net46

问题
在Jenkins中,当.NET5构建运行时,同时如果我执行另一个.NETClassic构建,则后者将失败并出现错误

C:\Users\jenkinsuser\AppData\Local\Microsoft\MSBuild\15.0\Microsoft.Common.targets\ImportBefore\SonarQube.Integration.ImportBefore.targets(62,5): 错误:生成配置为运行SonarQube分析,但 无法定位SonarQube分析目标。项目: MyProject.csproj

我认为这里的问题是,两个扫描仪共享同一个位置来存储目标,因此后一个扫描仪失败。我想这里有两个选择

1> 在Jenkins中是否可以不使用任何第三方插件一次运行一个作业?在Maven项目配置中,执行者的数量当前设置为3。将此更改为1是否一次只执行一个作业?将此值更改为1是否有任何副作用


在Sonar Scanner中,在每个扫描仪上都可以设置任何属性,以便扫描仪对目标使用不同的位置< /P> < P>请考虑全局目标安装,如:

同一构建机上的并发分析 默认情况下,.NET扫描程序不支持并发分析(即使用唯一服务帐户在同一生成计算机上并行分析两个解决方案)。您可以按如下方式启用它:

  • 找到包含.NET扫描仪的文件夹
  • 进入
    Targets
    文件夹,复制文件夹
    SonarQube.Integration.ImportBefore.Targets
  • 将其粘贴到构建工具全局导入文件夹下(如果该文件夹不存在,请创建它)
    • 对于MSBuild,路径是
      \\Microsoft.Common.targets\ImportBefore
      ,其中
      是:
      • 对于v14,默认路径为:
        C:\ProgramFiles(x86)\MSBuild\14.0\Microsoft.Common.Targets\ImportBefore
      • 对于v15,默认路径为:
        C:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Microsoft.Common.targets\ImportBefore
        (对于VS Community Edition)
      • 对于v16,默认路径为:
        C:\ProgramFiles(x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets
        (对于VS Enterprise Edition)
    • 对于dotnet,路径是
      \15.0\Microsoft.Common.targets\ImportBefore
      ,其中可以使用
      dotnet--info
      并查找基本路径属性找到
    对于未分析的项目,此全局安装的性能影响可以忽略不计,因为此目标只是一个引导程序,当在正在生成的文件夹下找不到
    .sonarqube
    文件夹时,它几乎会立即退出