質問

私は単純な答えで、おそらく簡単な問題を抱えていますが、私はそれが何であるかを見つけることができません。CheckStyleと他のいくつかのツールと一緒にSonarqubeを展開したいが、それは一元化された、サーバの展開、または各開発者マシンのために見つけることができないのですか?すべてのチュートリアルは別々のマシン上のインストールを示し、ローカルホストで使用されていますが、パブリックインスタンスの例があり、必要に応じて必要に応じてサービスのように見えます。

その一方で、開発者はサーバー上にあるかどうかを確認のためにコードを送信する方法を得ていません。

だから、ほとんど、どのように展開されていますか?チェックリストまたは似たようなものは素晴らしい助けになるでしょう。

役に立ちましたか?

解決

Sonarqube(以前の「SONAR」)はサーバーベースのシステムです。もちろん、ローカルマシンにインストールできます(ハードウェア要件は最小限です)。しかし、データベースを持つ中央サーバーです。

分析は、Sonar Runner、Sonar Antタスク、SONAR Eclipseプラグインなどである可能性があるSONAR「クライアント」ソフトウェアによって実行されます。分析結果は自動的にサーバーにアップロードできます。 SONAR Webアプリケーション

多くの開発者を持つ環境では、毎晩ビルドの一部として自動ソナー分析を実行するビルドサーバー(例えば、HudsonまたはJenkins)を実行する必要があります。他のスケジュールが可能ですが、開発者はサーバー側の分析結果の更新を期待できる場合に知っておく必要があります。自動分析の結果は、Sonar Eclipse Pluginを介して個々の開発者のEclipseエディタに表示できます。

SONARの建築文書はかなりまばらです。私は私が今説明したことを視覚化するために写真を探しましたが、見つけることができませんでした...

他のヒント

Sonarqube "Runtime"アーキテクチャにはいくつかの要素があります。

  1. sonarqubeサーバー。データベース(例えば、MySQL)が含まれています。 組み込みWebサーバー(Tomcat)。 Sonarqubeサーバーは保存します 分析結果(メトリクス)は、コードを実行しません 分析このサーバーはダッシュボードを示すWeb UIを提供します。 プロジェクト、さまざまな測定基準とコード、管理者オプションへのドリルダウン。プラガブルアーキテクチャを使用します - プラグインを介して機能強化性を追加/削除できます。
  2. 開発者機械でコード分析を実行するプログラム。オプションがあります。(a)彼らがEclipseまたはIntelliJを使用している場合、それらはそれぞれのSonarlintプラグインを使用しています。 。; (b)開発者は、Maven(mvn sonar:sonar)またはGradle(gradlew sonarqube)を介してコード分析を実行することもできます。 (c)開発者は、Sonarqubeランナーと呼ばれるプログラムを通じて、さまざまなコード分析を実行できます。 開発者マシンで分析を実行するプログラムのこれらすべてのオプションは、SonarQubeサーバーと通信するように設定される必要があります。たとえば、Sonarlintを使用してIntellijでコード分析を実行すると、メトリックがサーバーにアップロードされます。このサーバーは通常、すべての開発者によって共有されていますが、LocalHostでもかまいません。
  3. CI / CDサーバでコード解析を実行するプログラム。ソフトウェアプロジェクトを構築するジョブ/パイプラインは、SONARQUBEコード分析を実行するように設定できます。開発者のマシンのように、またはプラグインを介してMavenまたはGradleを介して行うことができます。 Jenkins、Hudson、Bambooなどのために Sonarqube CIプラグイン 。プロジェクトのサイズによっては、各コードをコミットまたは依存関係に変更するだけでなく、1日に1回実行するようにコード分析を設定することをお勧めします。 CIサーバ上で実行されたSONARQUBEコード分析は、生成されたメトリックをSonarQubeサーバに送信します。
  4. Sonarqubeアーキテクチャのマニュアルは非常に貧弱です(欠席しないこと)、大きな写真を得るのは難しいです。これが助けを願っています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top