Running sonar Qube scanner project are marked as invalid
我正在从Jenkins(Jenkins)运行Sonarqube Scanner for MSBuild。
项目在VS2013中,但我正在使用MSBuild 14进行构建。
构建成功,但仅扫描了几个文件(10)
在Sonarqube扫描仪日志上,如果战争能够找到标记为"无效项目"的庞大项目列表,我不确定为什么会这样。
另一个信息:当我添加声纳扫描仪1小时时,构建本身需要14分钟
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | Product projects --------------------------------------- e:\\jenkins\\workspace\\XXXX.YY.csproj Test projects --------------------------------------- Invalid projects --------------------------------------- e:\\jenkins\\workspace\\WWWW.RR.csproj e:\\jenkins\\workspace\\TTTT.JJ.csproj {none} Skipped projects --------------------------------------- {none} Excluded projects --------------------------------------- {none} |
SonarQube Scanner for MSBuild如果项目不包含项目guid属性
该分析会增加一些开销,通常会大大增加编译时间,尤其是在启用许多规则的情况下。但是,默认质量配置文件不应使编译增加超过2-3倍。
您使用的是哪个版本的MSBuild,SonarC#和SonarQube扫描仪?由于您的项目是针对VS2013的,因此我怀疑您可能正在使用MSBiuld 12后备,它比MSBuild 14模式既慢又不精确(因为在分析过程中,每个文件都包含在临时项目中并单独编译)。确保使用MSBuild 14模式的好方法是对MSBuild 3.0和SonarC#6.0使用Scanner,因为它们不再支持MSBuild 12模式...
我能够通过使用powershell
直接调用exectuable来解决这个问题
第一步初始化
1 2 | cd"<Project root folder>" &"E:\\sonar-scanner-msbuild-3.0.2.656\\SonarQube.Scanner.MSBuild.exe" begin /k:"<project key>" /n:"<project name>" /v:"<version>" /d:sonar.host.url=<URL> /d:sonar.login=<Token> |
第二步
1 | MS Build |
第三步
1 | &"E:\\sonar-scanner-msbuild-3.0.2.656\\SonarQube.Scanner.MSBuild.exe" end |