2016-10-11 2 views
3

Ich möchte eine Sonar-Projektanalyse mit Jenkins 2.x Groovy Script Build Pipeline starten.Jenkins Script Pipeline Sonar Integration

I Sonar, das ist keine große Sache so konfiguriert haben, in Maven so:

withEnv(["JAVA_HOME=${javaHome}", "PATH + MAVEN=${mavenHome}/bin:${env.JAVA_HOME}/bin", "MAVEN_OPTS=${mavenOpts}"]) { 
     sh 'mvn -B sonar:sonar' 
} 

Aber wie kann ich Ergebnisse von Sonar bekommen? Oder noch besser, wie kann ich feststellen, ob ein Qualitäts-Gate erreicht wurde, damit ich die Build-Pipeline stoppen kann.

Das Build-Breaker-Konzept ist seit einigen Versionen von Sonar obsolet, soweit ich weiß. Oder wie würdest du damit umgehen?

Ich denke immer noch, es wäre eine gute Idee, eine Build-Pipeline zu stoppen/pausieren, wenn der zugrunde liegende Code eines Projekts zu schlecht ist.

Antwort

1

Ich weiß nicht, ob dies ideal ist, aber ich bekomme den Status von der SonarQube API mit einer Anfrage (was Sie mit dem HttpRequest Plugin tun können).

def response = httpRequest 'https://SONAR_USER:[email protected]_URL/api/qualitygates/project_status?projectKey=PROJECT_KEY' 
def slurper = new groovy.json.JsonSlurper() 
def result = slurper.parseText(response.content) 
if (result.projectStatus.status == "ERROR") { 
    currentBuild.result = 'FAILURE' 
} 
+0

thx Ich werde versuchen, dass –

+0

es ausprobiert und bekam diese: java.lang.NoSuchMethodError: Keine solche DSL-Methode ‚httprequest‘ gefunden –

+0

@Lee Sie neet das Httprequest-Plugin zu installieren. –