【问题标题】:SonarQube post processing fails with unknown reasonSonarQube 后处理失败,原因不明
【发布时间】:2019-01-21 18:08:29
【问题描述】:

SonarQube 在没有任何有意义的 .NET C# 项目错误消息的情况下失败。

我尝试使用 -X 选项运行结束命令,但 -X 格式无法识别。

SonarScanner.MSBuild.exe end -X /d:sonar.login="87195"

关于什么可能是错的任何想法?我用 2 - 3 个 cs 文件运行了一个更简单的项目,并且成功了。

:
:
INFO: Sensor Python Squid Sensor [python] (done) | time=1880ms
INFO: Sensor PythonXUnitSensor [python]
INFO: Sensor PythonXUnitSensor [python] (done) | time=529ms
INFO: Sensor SonarCSS Metrics [cssfamily]
INFO: Sensor SonarCSS Metrics [cssfamily] (done) | time=9835ms
INFO: Sensor SonarCSS Rules [cssfamily]
INFO: ------------------------------------------------------------------------
INFO: EXECUTION FAILURE
INFO: ------------------------------------------------------------------------
INFO: Total time: 9:31.651s
ERROR: Error during SonarQube Scanner execution
ERROR: null
ERROR:
INFO: Final Memory: 26M/1008M
INFO: ------------------------------------------------------------------------
The SonarQube Scanner did not complete successfully
14:53:45.844  Creating a summary markdown file...
14:53:45.847  Post-processing failed. Exit code: 1

【问题讨论】:

    标签: .net sonarqube sonarscanner


    【解决方案1】:

    任何登陆此页面以寻找解决方案的人:OP 也已将其发布在 sonarqube 论坛上,解决方案是禁用 css 分析。对于较大的项目,sonarqube 在作为服务器安装(而不是使用云)时无法处理 css 文件的代码分析,从而导致错误,而它在较小的项目上工作正常。

    您可以在脚本中禁用 css 分析;通过告诉 Sonar 这些 css 文件具有不同的扩展名,例如 .foo,或来自管理部门

    从 SonarScanner.MSBuild.exe 运行时的脚本中,添加以下内容; /d:sonar.css.file.suffixes=.foo,如:

    "C:\sonar-scanner-msbuild-4.3.1.1372-net46\SonarScanner.MSBuild.exe" begin /k:"MyApp"  /d:sonar.css.file.suffixes=.foo /d:sonar.host.url="http://localhost:9000" /d:sonar.login="200dc9294n6bg4d4cc9bed30mj76fcb10d25ee17"
    

    从 SonarQube 管理中,从列表中删除 .css 后缀:

    Sonar 团队仍在调查该问题; https://community.sonarsource.com/t/sonarqube-post-processing-fails-with-unknown-reason/1798/6

    【讨论】:

      【解决方案2】:

      当前的答案排除了所有 .css 文件,但我开始寻找一种方法来排除有问题的 .css 文件。

      我在一个项目中遇到了这个问题,但在其他项目中没有。这个特定项目之间的区别在于它使用的是 Kendo.UI,并且该库具有相对庞大的 .css 文件。但是,当我尝试通过脚本排除这些文件时,它仍然会失败。最终效果最好的是在 .csproj 本身中添加 SonarQube 设置,以排除我们拥有的许多 .css 库。

      您需要将以下内容添加到您的 .csproj 以排除这些文件:

      <ItemGroup>
       <SonarQubeSetting Include="sonar.exclusions">
        <Value>**/LibraryNameHere/**</Value>
       </SonarQubeSetting>
      </ItemGroup>
      

      【讨论】:

      • 它不会排除“LibraryNameHere/**”文件夹下的所有文件,而不仅仅是“有问题的css文件”吗?同意它将缩小范围,以便检查其余 css 文件的代码质量,但不能确定罪魁祸首是否只是一个特定的库或许多。如果它始终如一地工作,那么这样做没有害处。
      猜你喜欢
      • 2022-11-27
      • 1970-01-01
      • 2011-07-16
      • 2017-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-18
      • 1970-01-01
      相关资源
      最近更新 更多