如何将 SonarQube 分析的质量门检查到工作中

Posted

技术标签:

【中文标题】如何将 SonarQube 分析的质量门检查到工作中【英文标题】:How to check the quality gate of a SonarQube analysis into a job 【发布时间】:2021-09-12 11:59:33 【问题描述】:

我正在从事 jenkins 工作,但不可能使用管道。

我需要做的是启动一些 sonarQube 分析并检查质量门是否已通过。如果质量门的分析失败,我想阻止我的工作。

我知道我可以通过编写管道脚本来做到这一点,并且我知道该怎么做,但在这种特殊情况下,我无法编写管道,但我只能使用“预构建步骤”和“构建后步骤”工作。 所以我的问题是:

是否可以将管道实施到没有管道部分的作业中? 如何检查分析是否通过了质量门?我还阅读了一个名为“Quality Gate”的 Jenkins 插件,但它存在安全问题(纯文本凭据),所以我认为他们不允许我使用它。

谢谢大家!

【问题讨论】:

【参考方案1】:

在这种情况下,可能最简单的方法是指示声纳扫描仪等待质量门结果。来自documentation:

您可以在配置文件中使用sonar.qualitygate.wait=true 分析参数。将 sonar.qualitygate.wait 设置为 true 会强制分析步骤轮询您的 SonarQube 实例,直到 Quality Gate 状态可用。这会增加流水线持续时间并导致分析步骤在质量门失败时失败,即使实际分析成功也是如此。

【讨论】:

以上是关于如何将 SonarQube 分析的质量门检查到工作中的主要内容,如果未能解决你的问题,请参考以下文章

如果SonarQube失败质量门,则VSTS构建失败

如何从詹金斯管道中选择声纳质量门?

等待质量门返回 401

SonarQube 7.1 和 TFS 2018 发布质量门结果失败

如何将 jasmine 报告导入 sonarqube 进行分析

如何在 Jenkins Pipeline 中对 SonarQube 质量门做出反应