我已经为SonarQube分析配置了Jenkins作业,如下所示。
我的工作成功,我收到了同样的电子邮件。但是当我看到SonarQube网站时,我发现质量门失败了。如何在我的Jenkins工作下设置参数,以便触发我的电子邮件失败。
答案 0 :(得分:1)
这是苹果和橘子的问题。或者说蔓越莓和橙子,因为有些人将两者结合起来,这就是你所追求的。
为了记录,这样做是个坏主意。为什么?如果Jenkins构建失败,那是因为代码没有编译,(没有签出,没有......无论如何)或者因为质量门失败了?
假设要通知质量门故障,最好使用SonarQube的原生“新质量门状态”通知。
但是没关系。要完成您的目标:使用https://www.youtube.com/watch?v=JXuxYMGe4KI&index=22&list=WL&t=619s。它将暂停Jenkins作业,直到服务器端的分析报告处理完成(这可能需要一段不确定的时间,具体取决于您的服务器负载),如果项目未通过质量门,则返回-1。
答案 1 :(得分:0)
您可以使用 Jenkins 内置步骤 waitForQualityGate
,如 SonarQube documentation 中所述。例如,在脚本化流水线中,您可以根据 QualityGate 结果决定要执行的操作,如下所示:
def qg = waitForQualityGate()
if (qg.status == 'OK') {
[...]
}