maven - 当质量门失败时,如何使 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/进行声纳。
解决方案
如果 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
推荐阅读
- xml - PowerShell:无法将值“System.Object[]”转换为类型“System.Xml.XmlDocument”
- javascript - 如何在没有任何损坏的情况下将“ğ”填充到文本中?
- r - 在ggplot中,如何将轴刻度标签映射到标签的指定数据列?
- slack - 是否可以为 Slack 定制 ServiceNow?
- java - 多对多关系的条件查询
- java - 当我点击验证码然后点击登录它不起作用
- angular - Highcharts 将左列添加到分组数据
- python-requests - Python 调用 PUT 请求:不支持“PUT”
- android - Flutter:ListView 在键盘弹出时处理小部件
- django - Django3多个文件提交到数据库