【问题标题】:TeamCity/Sonar: Fail build if some metric increasesTeamCity/Sonar:如果某些指标增加,则构建失败
【发布时间】:2016-10-29 17:17:02
【问题描述】:

我们正在使用带有 Sonar 插件的 TeamCity。如果 Sonar 中的某些指标(即 Blocker 问题的数量、技术债务的数量等)增加,或者如果它只是未能通过 Quality Gate,是否有办法使 TeamCity 构建失败?我没有找到任何关于此的文档。

【问题讨论】:

    标签: sonarqube teamcity sonarqube-scan


    【解决方案1】:

    目前,可用的选项是

    1. Build Breaker Plugin(假设 Team City 与此插件的工作方式兼容)
    2. 在您的作业中添加一个脚本步骤(同样,假设 TC 支持它)以循环轮询 SQ 以完成分析报告处理,然后获取 QG 状态并有条件地使构建失败。

    2018 年编辑
    现在在 Jenkins Pipelines 中对此提供了非阻塞支持。更多in the docs

    【讨论】:

    • TeamCity 支持Sonar Build Breaker Plugin
    • 我确实尝试使用 Build Breaker 插件,但无法在 Sonar 中显示它。我下载了 jar 并将其放在 plugins 目录中,但是当我登录 Sonar 时,没有证据表明它确实加载了插件,并且当我检查启动日志时,它在加载另一个时没有提及加载它插件。我还需要采取其他步骤吗?根据我所看到的,这应该是我安装插件所要做的全部。
    • 嗯...您将插件放入,重新启动后,启动日志中没有关于此插件的任何内容
    • 关于这个问题的任何更新?我也在为同样的问题而苦苦挣扎。当质量门失败时,构建不会失败:(
    【解决方案2】:

    是的,您可以使用 powershell 脚本来执行此操作。使用 metric 和 metric key 为项目调用 sonar rest api。如果 metric 值与构建的退出不匹配,则将结果与项目进行比较。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-03-15
      • 1970-01-01
      • 1970-01-01
      • 2016-02-21
      • 2021-11-03
      • 2017-06-24
      相关资源
      最近更新 更多