2016-06-30 22 views
1

Quality Gateプラグイン(v2.5)を使用してJenkinsサーバーでビルドを失敗しようとしています。私のjenkinsでは、SonarQubeプラグイン(v2.4.4)とSonarQube Scanner v2.6.1をインストールしました。私もSonarQubeサーバをv5.6に設定しました 私のジェンキンスサーバを使ってビルドしたプロジェクトのために私のサーバに高品質のゲート(例えばバグ> 10など)を定義しました。私はジェンキンスでフリースタイルの仕事を作りました。私が達成したいのは、Quality Gateの要件が満たされていないときはJenkinsのビルドが失敗することです。 私はJenkinsのビルドステップで "SonarQubeスキャナーを実行する"オプションを使用し、ポストビルドアクションでは(プロジェクトキーを使用して)品質ゲートオプションを使用します。ソナー解析のパラメータは、[解析プロパティ]セクションで定義しました。Quality Gateプラグインを使用してJenkinsでビルドできない

現在、品質ゲートのしきい値が満たされていないと、SonarQubeサーバーでステータスが失敗に変わりますが、ビルドはJenkinsに渡されます。ジェンキンスで同じジョブが次回実行されている間は、品質ゲートによってビルドが失敗します。つまり、ビルドのステータスはSonarQubeサーバーと同期して変更されるのではなく、次の実行時に変更されます。

ここでは何が分かりますか?

+0

こんにちは!あなたはそれを解決しましたか?私は同じ問題を抱えていますが、私はその答えを見つけることができません。 –

答えて

1

投稿してからしばらく経っていますが、少なくとも私の理解で助けてくれるかもしれません。

SonarQube 5.6(これがいつ変更されたかはわかりません)では、SonarQubeのバックグラウンドタスクでビルド解析が解析されています。したがって、Jenkins Buildは解析をサーバーにポストした後に終了し、SonarQubeサーバーのバックグラウンドタスクが終了するずっと前にビルドが完了します。

SonarQubeのバックグラウンドタスクの最中または終了時に、それはQualityGateをチェックします。

したがって、Jenkinsプラグインは、少なくともSonarQubeバージョンが5.6以上の場合、常に「古い」状態のQualityGate状態になります。

Jenkinsプラグインを拡張し、「バックグラウンドタスクを待つ」オプションを追加することができます。もちろんこれはジェンキンスのビルド時間を長くするでしょう。これは既に "Quality Gates Plugin"のthisフォークで行われています。

・ホープ、このすべての権利:-)

see the also the doku here

関連する問題