2016-10-11 9 views
3

Jenkins 2.x Groovy Script Build Pipelineを使用してSonarプロジェクト分析を開始したいと考えています。Jenkins Scriptパイプラインソナー統合

私は大したことないthatsのようにMavenで構成されたソナーを持っている:

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

しかし、どのようにiは、ソナーからの結果を得ることができますか?それとも、ビルドパイプラインを止めることができるように、どのようにして高品質のゲートが確保されているかを判断するにはどうすればいいですか?

ソーナーのいくつかのバージョン以来、ビルドブレーカーの概念は、私が知っている限り、廃止されています。それともどうやってこれをやりますか?

プロジェクトの基になるコードがあまりにも悪い場合は、ビルドパイプラインを停止/一時停止することをお勧めします。

答えて

1

これは理想的なのかどうかわかりませんが、私はSonarQube APIから要求を受け取っています(これはHttpRequestプラグインで行うことができます)。

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

私は –

+0

はそれを試してみましたが、これを得たことを試してみますTHX:java.lang.NoSuchMethodErrorの:あなたはHttpRequestのプラグインをインストールするには、ニート@LeeそのようなDSL方式「のHttpRequestは」 –

+0

を見つけました。 –