2017-08-16 5 views
1

私はゆっくりとJenkinsのパイプラインのgroovy dslに潜入しています。そして、私はソナーを行い、ジェンキンス・ビルド・サーバーの品質ゲートメッセージを反映するステップをどのように作成できるかを理解しようとしています。私はソナーのためdefinded folowingステップを持っている。この時点ではJenkins SonarQubeのステップはWarnへ移動

stage ('sonar') { 
    mvn "-Dsonar.lang.patterns.jsp=notverified -Dsonar.host.url=http://sonar.server.example:9494 org.sonarsource.scanner.maven:sonar-maven-plugin:3.3.0.603:sonar -Dsonar.login=key 
} 

今、私はMavenのが取得するときことをしたい:それはOKまたはErrorにそれを設定していない

[INFO] Quality gate status: WARN 

をが、そのビルドステップはWARNにもなります(いい緑色や赤色の代わりに黄色の素敵な色)。私はドキュメントを掘り下げてきましたが、ステップをWARN状態にする方法は実際にはありません。そして、どちらのアイデアの間にも気づいていますか?

答えて

1

CloudBees supportによると、あなたが不安定な状態(故障したユニット・テスト)を示し、黄色のオーブを取得するには、自分自身をcurrentBuild.resultを設定することで、ビルド結果を設定し、そうすることができ、あなたはこれを行うことができます。

currentBuild.result = 'UNSTABLE' 

を今、あなたは、ソナー品質のゲートステータスが「WARN」のときにこれを実行します。

彼らdocument how to do it:最初にあなたのソナーの実行は、あなたがwaitForQualityGate()との結果とバックあなたを呼び出すためにサーバーを待つ、withSonarQubeEnv('Your Sonar server')でラップ:私はこれをテストしていません

stage("Build & SonarQube analysis") { 
    node { 
     withSonarQubeEnv('My SonarQube Server') { 
      sh 'mvn clean package sonar:sonar' 
     } 
    } 
} 

stage("Quality Gate Check"){ 
    timeout(time: 20, unit: 'MINUTES') { 
     def qg = waitForQualityGate() 
     if (qg.status == 'WARN') { 
      currentBuild.result = 'UNSTABLE' 
     } 
    } 
} 

、私は古いバージョンを持っています上記の10倍以上の手作業でスクリプト化されたアプローチを使用して、時間があればアップグレードする予定です。これを取り除き、このソリューションに置き換えたいと思います...まだ完了していませんが、私はメモを共有しています集めました。

+0

悪いです、このtomrow(私のタイムゾーン)。そして、あなたにkonをさせてください。 – Thadir

関連する問題