首页 > 解决方案 > 当质量门失败时,如何使 Maven 构建失败?

问题描述

早些时候,sonar-maven-plugin version 3.2当声纳质量门失败时,我使用的构建也曾经失败。现在我正在使用sonar-maven-plugin version 3.7.0.1746,它不会发生。即使质量门失败,maven 构建也成功。现在,当我在 pom.xml 中使用 3.2 版时,它会给出错误

[ERROR] Failed to execute goal org.sonarsource.scanner.maven:sonar-maven-plugin:3.2:sonar (default-cli) on project maven-webapp: Unable to execute SonarQube: Fail to download libraries from server -> [Help 1]

使用时sonar-maven-plugin version 3.7.0.1746不会出现上述错误。

这就是我在 Pom.xml 中添加插件的方式

<plugin>
     <groupId>org.sonarsource.scanner.maven</groupId>
     <artifactId>sonar-maven-plugin</artifactId>
     <version>3.2</version>
</plugin>

我还了解到,在 3.2 版中有一些工作后操作,例如org.sonar.plugins.buildbreaker.QualityGateBreaker.

现在怎么办?我正在使用https://sonarcloud.io/进行声纳。

标签: mavensonarqubemaven-pluginsonarcloud

解决方案


如果 Sonar Qube Server 版本大于 8.1,sonar.qualitygate.wait=true可以使用:

mvn verify sonar:sonar -Dsonar.qualitygate.wait=true

否则,有一个 maven 插件来检测 Sonar Quality Gate Result:

 <plugin>
        <groupId>io.github.r0bb3n</groupId>
        <artifactId>sonar-quality-gate-maven-plugin</artifactId>
        <version>1.1.0</version>
  </plugin>

然后,您将运行以下 Maven 命令:

mvn sonar-quality-gate:check

推荐阅读