7

おそらく簡単な答えで、簡単な問題がありますが、それが何であるかがわかりません。Checkstyle やその他のツールと一緒に SonarQube をデプロイしたいのですが、それが中央集中型のサーバー デプロイ用なのか、それとも各開発者のマシン用なのかわかりません。すべてのチュートリアルでは、個別のマシンへのインストールとローカルホストでの使用が示されていますが、パブリック インスタンスの例があり、要件と仕様は確かにサービスのように見えます。

一方、サーバー上にある場合、開発者がチェックのためにコードを送信する方法がわかりません。

要するに、それはどのように展開されますか? チェックリストまたは同様のものは非常に役立ちます。

4

2 に答える 2

16

SonarQube の「ランタイム」アーキテクチャには、いくつかの要素があります。

  1. SonarQube サーバー. これには、データベース (MySql など) と組み込み Web サーバー (Tomcat) が含まれています。SonarQube サーバーは分析の結果 (メトリック) を保存しますが、コード分析は実行しません。このサーバーは、プロジェクトのダッシュボード、さまざまなメトリック、コードへのドリルダウン、管理オプションを表示する Web UI を提供します。プラグイン可能なアーキテクチャを使用しており、プラグインを介して機能を追加/削除できます。
  2. 開発者のマシンでコード分析を実行するプログラム。オプションがあります。(a) Eclipse または IntelliJ を使用している場合は、それぞれの SonarLint プラグインを使用できます。これにより、構成プロパティ、分析を実行するメニュー オプション、違反を表示するビューなどが提供されます。(b)mvn sonar:sonar開発者は、maven ( ) または gradle ( )を介してコード分析を実行することもできますgradlew sonarqube(c)開発者は、SonarQube Runner と呼ばれるプログラムを通じて、さまざまなコード分析を実行できます。開発者のマシンで分析を実行するプログラムのこれらすべてのオプションは、SonarQube サーバーと通信するように構成する必要があります。たとえば、SonarLint を使用して IntelliJ でコード分析を実行すると、メトリックがサーバーにアップロードされます。通常、このサーバーはすべての開発者によって共有されますが、localhost にすることもできます。
  3. CI/CD サーバー上でコード分析を実行するプログラム。ソフトウェア プロジェクトをビルドするジョブ/パイプラインは、SonarQube コード分析を実行するように構成できます。これは、開発者のマシンと同じように maven または gradle を介して、またはプラグインを介して実行できます。Jenkins、Hudson、Bamboo などの SonarQube CI プラグインがあります。プロジェクトのサイズによっては、コードのコミットや依存関係の変更ごとではなく、コード分析を 1 日に 1 回だけ実行するように構成したい場合があります。同様に、CI サーバーで実行される SonarQube コード分析は、生成されたメトリックを SonarQube サーバーに送信します。

SonarQube アーキテクチャのドキュメントは非常に貧弱 (存在しないとは言いません) であるため、全体像を把握するのは困難です。これが役立つことを願っています。

于 2014-02-12T12:40:03.967 に答える
10

SonarQube (以前は単に "Sonar" でした) はサーバーベースのシステムです。もちろん、ローカル マシンにインストールすることもできます (ハードウェア要件は最小限です)。しかし、これはデータベースを備えた中央サーバーです。

分析は、ソナー ランナー、ソナー アント タスク、ソナー Eclipse プラグインなど、いくつかのソナー「クライアント」ソフトウェアによって実行されます。分析結果は、サーバーに自動的にアップロードされ、ソナー Web アプリケーション経由でアクセスできます。 .

多くの開発者がいる環境では、ナイトリー ビルドの一部として自動ソナー分析を実行するビルド サーバー (Hudson や Jenkins など) を実行する必要があります。他のスケジュールも可能ですが、開発者は、サーバー側の分析結果がいつ更新されるかを知っておく必要があります。自動分析の結果は、ソナー Eclipse プラグインを介して、個々の開発者の Eclipse エディターに表示できます。

Sonar のアーキテクチャ ドキュメントは非常にまばらです。今説明したことを視覚化するための写真を探しましたが、見つかりませんでした...

于 2013-11-15T19:08:31.713 に答える