Gradle SonarRunner:在失败的 Quality Gate 上构建失败

Gradle SonarRunner: fail build on failed Quality Gate

作为 Team City 构建的一部分,我正在 Android 代码上执行 Gradle SonarRunner 任务。

它在 SonarQube 上失败了 Quality Gate,但控制台构建成功并且日志中没有关于失败的 QG 的信息:

[10:57:35][Step 1/3] 10:57:36.323 INFO  - Loaded quality gate 'Android'
[10:57:36][Step 1/3] 10:57:36.397 INFO  - Compare to previous analysis (2015-12-07)
[10:57:36][Step 1/3] 10:57:36.405 INFO  - Compare over 30 days (2015-11-08, analysis of Thu Nov 26 13:27:50 CET 2015)
[10:57:36][Step 1/3] 10:57:36.411 INFO  - Compare to previous version (2015-12-07)
[10:57:36][Step 1/3] 10:57:36.642 INFO  - Execute decorators...
[10:58:19][Step 1/3] 10:58:20.189 INFO  - Store results in database
[10:58:59][Step 1/3] 10:59:00.330 INFO  - Analysis reports generated in 2698ms, dir size=4 MB
[10:59:09][Step 1/3] 10:59:09.888 INFO  - Analysis reports compressed in 9558ms, zip size=3 MB
[10:59:09][Step 1/3] 10:59:10.245 INFO  - Analysis reports sent to server in 357ms
[10:59:09][Step 1/3] 10:59:10.245 INFO  - ANALYSIS SUCCESSFUL, you can browse [###############]
[10:59:09][Step 1/3] 10:59:10.245 INFO  - Note that you will be able to access the updated dashboard once the server has processed the submitted analysis report.
[10:59:10][Step 1/3] INFO: ------------------------------------------------------------------------
[10:59:10][Step 1/3] INFO: EXECUTION SUCCESS
[10:59:10][Step 1/3] INFO: ------------------------------------------------------------------------
[10:59:10][Step 1/3] Total time: 6:05.725s
[10:59:10][Step 1/3] Final Memory: 44M/1294M
[10:59:10][Step 1/3] INFO: ------------------------------------------------------------------------
[10:59:10][Step 1/3] 
[10:59:10][Step 1/3] BUILD SUCCESSFUL

我想通过 Gradle 任务失败或至少检查日志中的某些特定失败消息(例如 "ANALYSIS FAILED")来识别此类事件。我怎样才能做到这一点?

您没有提及您的 SonarQube 服务器版本。中断构建在当前服务器版本 5.2 中不可用,但在 v5.1 和之前 the Build Breaker Plugin, and native support should return soon.

中可用

在 Sonarqube 7.7 之后,build breaker 似乎不再起作用了。

从 1.3.0 开始,此 Android Gradle 插件具有构建破坏者功能,您可能需要检查一下:https://github.com/pinchbv/android-analyzer