【问题标题】:BuildBreaker Does not fails in issues and preview mode but fails in publish mode - SonarQube5.6.1BuildBreaker 在问题和预览模式下不会失败,但在发布模式下会失败 - SonarQube5.6.1
【发布时间】:2017-04-11 00:53:58
【问题描述】:

我在 sonarQube5.6.1 中使用 Buildbreaker2.4 插件。

当我运行以下命令时,

mvn sonar:sonar -Dsonar.issuesReport.html.enable=true -Dsonar.analysis.mode=publish

Buildbreaker 因严重问题而失败

但是当我运行以下两个命令中的任何一个时,它都会通过。

mvn sonar:sonar -Dsonar.issuesReport.html.enable=true -Dsonar.analysis.mode=issues
mvn sonar:sonar -Dsonar.issuesReport.html.enable=true -Dsonar.analysis.mode=preview

建议我解决可能的问题。

【问题讨论】:

  • SonarQube 发布了this 文章。似乎在版本 5.4 之后停止了对 Buildbreaker 的支持。
  • 那么这个的替代品是什么?我的意思是如果质量门以某种方式失败,我的第一个命令失败,但我希望它在预览模式下也失败

标签: sonarqube sonarqube5.6


【解决方案1】:

如果在预览模式下失败,您必须编写插件“@batchside”(实现 PostJob)。

1- 为您的项目加载当前质量门属性

WsRequest wsRequest = new GetRequest("api/qualitygates/show").setParam("id", qgId).setMediaType(MediaTypes.PROTOBUF);


2- 读取当前分析的错误(在 PostJobContext 对象中)

Iterator<PostJobIssue> iterator = context.issues().iterator();


3- 开展业务,比较 QG 的错误和阈值
4-完成异常,它将破坏“预览”构建

 throw MessageException.of("too many errors for preview mode ..");

【讨论】:

    猜你喜欢
    • 2011-05-21
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多