1

私たちの会社にはたくさんのサブモジュールがあります。コードの品質などをチェックするためにソナーを追加したいと考えています。プロジェクトの先頭からビルドを開始すると、ビルドは失敗せずに実行され、ソナーのレポートが作成されます。

私たちのアーキテクチャは次のようなものです:

<Project>
   <module1>
   <module2>
   <module3>
       .
       .
       .
       .
   <moduleX>

しかし問題は、サブモジュールの 1 つが失敗すると、ビルド全体が成功しないことです。

ここでの質問: モジュールごとに 1 つの jenkins-jobs を作成せずに、モジュールごとにソナー レポートを作成して作成することは可能ですか?

4

1 に答える 1

2

簡単な答えはノーです。

長い答え: すべてのプロジェクトを最上位プロジェクト内に配置し、その上で Sonar 分析を実行すると、明らかにプロジェクトが失敗すると、Sonar ビルドが停止します。その理由は、Sonar が単一のプロジェクトを分析していると考えているためです (「モジュール」リストで作成した最上位の POM のため)。したがって、プロジェクト分析がある時点で失敗した場合、Sonar がそれ以上分析を進めないのは正常なことです。

はい: プロジェクトごとに 1 つの Jenkins ジョブを定義する必要があります (または、リポジトリのセットにジョブ構成を適用できるようにする Jenkins プラグインがいくつかあるかもしれません。そこには非常に多くのプラグインがあります)。

Groovy スクリプトのおかげで Jenkins も構成できることに注意してください。方法を知っていれば時間を節約できます (Sonar Jenkins プラグインの移行用に作成した次のスクリプトを参照してください => http:// docs.codehaus.org/display/SONAR/Migration+from+Jenkins+Sonar+Plugin+1.6+to+1.8 )。

于 2012-05-21T12:16:49.080 に答える