検証フェーズでsonar:sonarの実行を強制するマルチモジュール Maven プロジェクトを構成しています。
また、ソナーによってアラートがスローされた場合にモジュールをデプロイしないように、ソナーの build-breaker-plugin も使用します。
このアプローチの問題点は、開発者がソナー サーバーにアクセスしてアラートを確認する必要があることです。これはそれほど悪いことではありませんが、複数のユーザーが同じモジュールを同時に分析しようとすると、最後/現在の分析にアラートがあるかどうかを知ることができなくなります。
コンテキスト: 1 時間ごとにすべてのモジュールをビルドする CI システムがあります。したがって、これは開発者のデプロイと衝突することがあります(分析を強制します)
IMHO、CI システムのみが分析をソナー サーバーにコミットする必要があります。これは、CI には最後にコミットされて展開されたコードがあるためです。ただし、開発者は自分の変更をローカルでのみ確認する必要があります。
では、なぜ開発者ビルドで分析を強制するのでしょうか? コード品質のしきい値を尊重しないモジュールのデプロイを避けるため (ソナーのビルド ブレーカー プラグインがこれに役立ちます)。
これを行うために maven-sonar-plugin を設定する方法はありますか?
- 開発者ビルドでのローカル分析。
- CI ビルドでのサーバー分析