2015-11-03 16 views
10

Build Breaker PluginはSonarQube 5.2との互換性がなくなったようです。ソナーゲートが満たされていない場合やビルドブレーカープラグインを5.2にアップデートする予定がある場合、(VSO)ビルドに失敗するような選択肢はありますか?BreakerプラグインをSonarQube 5.2で作成

+1

この点については、SonarQubeのGoogleグループ(https://groups.google.com/d/msg/sonarqube/gR07SqqpAyQ/ulN2wdO4EQAJ –

答えて

11

Quality GateがSonarQube 5.2に合格しなかった場合にビルドを中断するプラグインはありません。

SonarQube 5.3+では、Build Breakerプラグインを再度使用できます。

Breaking the build in SonarQube 5.2(21/10月/ 2015)

Fabrice Bellingrad:メーリングリストから


Build Breaker Plugin はSQ 5.2+のために使用することはできません。このプラグインで以前にカバーされたユースケースに答えるために、コアフィーチャー を開発することです。これは、私たちが「どのような場合」機能を呼ん ある=> https://jira.sonarsource.com/browse/SONAR-6763

SonarQube 6.Xのために計画され、この問題SONAR-6763

+0

)で説明されています。リリース日が移動する可能性があることに注意してください。 :) –

+4

これはかなり残念です。私たちは、継続的な統合の一環としてこれに頼っています。便利な機能を削除するための正当な理由はありますか? – jbarrus

+0

私はあなたと一緒にいます。そのため、私たちは5.2にアップグレードしません。これは、継続的な統合プラットフォームを構築する際に必要な機能です! –

2

SonarQube 5.2では、Webサービス/api/eventsの代わりに使用できます。


リクエスト例:

https://<sq-host>/api/events?categories=Alert&resource=<project_key> 

応答例:プロジェクトのRED状態を検出

<events> 
    <event> 
     <id>50411</id> 
     <name>Red (was Green)</name> 
     <resourceKey>project_key</resourceKey> 
     <category>Alert</category> 
     <date>2015-09-29T22:38:44+0200</date> 
     <description>New Critical issues > 0 since previous analysis (2015 Sep 23), New Major issues > 0 since previous analysis (2015 Sep 23), New issues > 0 since previous analysis (2015 Sep 23)</description> 
    </event> 
    .... 
</events> 

赤のステータスを確認するにはeventの値がidで、eventsの応答のリストから見つけ、このイベントのnameRedから始まっていることを確認し、見つかったらビルドに失敗する必要があります。

このような確認は、SQステップの後に追加のコマンドラインステップを使用してCIサーバー上で行うことも、MavenまたはGradleなどのビルド自動化システムから行うこともできます。


私達はちょうどので、不足自由時間で、私たちのプロジェクトではまだ、このような回避策を実装していないが、我々は近い将来にこれを行います。

提案された解決策は、問題SONAR-6763が行われるまで回避策としてのみ使用してください。

+1

追加のコマンドラインステップは* Sonarの前に常に実行されるため、これは使用できません。 – mirabilos

2

SonarQube 5.3では、新しいQuality Gates Web Serviceが呼び出され、ビルドを中断する可能性がありました。

、失敗したクオリティゲートのためのCIビルドを破る処理が終了するまで待機するループでWS API呼び出しを使用して、クオリティゲートのWebサービスを確認するには:

  • 分析のceTaskUrlを呼び出し、 "状態" の値を調べる:
    • PENDINGまたはIN_PROGRESS - FAILEDまたはキャンセル
    • 後でもう一度チェック - ビルドを破りますか?
    • SUCCESS - ステータス

ため

  • 前方
  • を移動コールクオリティゲートのWebサービス私はまた issue to enhance the VSTS Tasks with an option to automatically call this serviceを追加しました。

    更新:recent PRは、あなたが今バージョンSonarQubeバージョン5.3+でSonarQube Build Breaker Pluginを使用することができます(未発売)VSTSタスク

    +2

    「使用できる」としか言えませんが、* how *も説明してください。 – mirabilos

    +0

    私は[Breaking the CI Build](http://docs.sonarqube.org/display/SONAR/Breaking+the+CI+Build)または[VSTSタスクの実装](https:// github。 com/Microsoft/vso-agent-tasks/tree/master/Tasks/SonarQubePostTest)を参照してください。私はソナーがこれについてのさらなる文書を発表したとは思わない。それ以外の場合は、さらに助けが必要かどうか直接質問する必要があります。 –

    3

    にこの機能を追加しました。