SonarQube扫描仪和Jenkins并行构建
我有两个.NET解决方案,一个在.NET5中,另一个在.NETClassic4.7.2中。每个解决方案都有单独的Jenkins构建作业。每个作业还使用SonarQube的MSBuild扫描仪分析解决方案 我使用的是SonarQube服务器版本8.5SonarQube扫描仪和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 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扫描程序不支持并发分析(即使用唯一服务帐户在同一生成计算机上并行分析两个解决方案)。您可以按如下方式启用它:
Targets
文件夹,复制文件夹SonarQube.Integration.ImportBefore.Targets
- 对于MSBuild,路径是
,其中\\Microsoft.Common.targets\ImportBefore
是:- 对于v14,默认路径为:
C:\ProgramFiles(x86)\MSBuild\14.0\Microsoft.Common.Targets\ImportBefore
- 对于v15,默认路径为:
(对于VS Community Edition)C:\ProgramFiles(x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Microsoft.Common.targets\ImportBefore
- 对于v16,默认路径为:
(对于VS Enterprise Edition)C:\ProgramFiles(x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Microsoft.Common.targets
- 对于v14,默认路径为:
- 对于dotnet,路径是
,其中可以使用\15.0\Microsoft.Common.targets\ImportBefore
并查找基本路径属性找到dotnet--info
.sonarqube
文件夹时,它几乎会立即退出