How do I make Hudson/Jenkins fail if Sonar thresholds are breached?

16,389

Solution 1

Install the build breaker plugin.

Fails your build if the code breaches any of the alert thresholds you specify on the project's Sonar quality profile.

Update

Sonarqube no longer recommends the use of this plugin:

Update (2019-02-11)

It appears the product has changed since I wrote this answer 7 years ago

Solution 2

Use Jenkins Quality Gates Plugin, which fails the build if the predefined sonar quality gates are not green.

  1. Plugin ID quality-gates
  2. Latest Release 2.5
  3. Latest Release Date May 17, 2016
  4. Required Core 1.625.3

This plugin will stop a job when a quality gate measures is detected.

Share:
16,389
laura
Author by

laura

Updated on July 07, 2022

Comments

  • laura
    laura almost 2 years

    I am using maven to build my java app, Jenkins for CI and Sonar for metrics.

    Currently I have a build job that creates the sonar report. (Triggered via a post-build step in Jenkins.)

    I would like to set this up to fail the build if certain thresholds are met - i.e. any major or blocker violations or Complexity more than 1.7.

    Any guidance would be appreciated! - L

  • June
    June over 8 years
    Unfortunately the Build Breaker plugin is unavailable for Sonar 5.2+
  • ianaz
    ianaz over 7 years
    I was using it to fail pull requests with Github... what a shame
  • Ben
    Ben over 5 years
    Not being able to break a build, when static analysis fails in Sonar is IMO a deal-breaker on using Sonar. The only way to ensure that 'code smell's'/'bugs' are not addressed during check'ins is by breaking the build. Would we put up with not being able to break a build when unit tests fail? IMO it's the same thing. Not having this built-in to Sonar gradle plugin bewilders me. Yes, there is a problem with a synchronous build vs async Sonar processing, but this is an implementation problem. If Sonar are serious about what they do, this is a must have.
  • Mark O'Connor
    Mark O'Connor over 5 years
    @Ben I don't disagree. When I wrote this answer 7 years ago the plugin worked perfectly. I would encourage you to take this up with SonarQube
  • Mark O'Connor
    Mark O'Connor over 5 years
    @Ben It appears breaking the build is supported in Jenkins pipelines. I've updated my answer
  • Ben
    Ben over 5 years
    Yes, sorry my first comment was aimed at SonarQube not yourself :-). Thanks, I saw that Jenkins support. Alas, we use TeamCity. Cheers
  • Ben Ketteridge
    Ben Ketteridge about 4 years
    Sonar have updated their advice with new suggestions: blog.sonarsource.com/…
  • Ente
    Ente about 4 years
    last link reports 404 for me