Dockerはコード検出プラットフォームSonarQubeを構築し、Mavenプロジェクトのプロセスを検出します

Dockerはコード検出プラットフォームSonarQubeを構築し、Mavenプロジェクトのプロセスを検出します

1 はじめに

優れたコーディング習慣は優れたプログラマーが備えるべき資質ですが、コードの品質を保証するために人々の習慣や記憶に頼ることは必ずしも信頼できるものではありません。コンピュータ業界の人々は、人間が作ったものである限り、運用上のリスクが存在することを十分に認識しているはずです。この記事では、 Docker経由でコード検出プラットフォームSonarQubeを構築し、それを使用してmavenプロジェクトのコードを検出する方法について説明します。

2 DockerでSonarQubeをインストールする

2.1 インストール

Dockerによるインストールは迅速かつ簡単です。不要になったら、コンテナとイメージを削除するだけです。

# Sonar イメージをプルします docker pull sonarqube:8.3.1-community
# 例を実行します docker run --name sonarqube -p 9000:9000 -d sonarqube:8.3.1-community

次に、http://localhost:9000/ にアクセスします。デフォルトの管理者ユーザー名とパスワードはadmin/adminです。

ここでは無料のCommunity版を選択します。より強力な機能を備えたDeveloperEnterpriseなどの有料版もあります。具体的な違いは次のとおりです。

2.2 データベースの指定

通常、 OracleMySQLPostgreSQLなどのデータベースは自分で起動します。関連するシステム情報はAdministration-Systemで確認できます。指定しない場合は、デフォルトで組み込みのH2データベースが使用されます。別のデータベースを指定する場合は、Docker の起動時に指定する必要があります。

-e SONARQUBE_JDBC_USERNAME="xxx" \
-e SONARQUBE_JDBC_PASSWORD="***" \
-e SONARQUBE_JDBC_URL="jdbc:mysql://xxx"

H2データベースの使用には次の制限があります。

組み込みデータベースはテスト シナリオでのみ使用できます。組み込みデータベースは、SonarQube の新しいバージョンに拡張またはアップグレードすることはできず、他のデータベース エンジンへのデータの移行もサポートされていません。

したがって、実際の使用では組み込みH2データベースを使用しないことをお勧めします。

2.3 コンテナへの入室

コマンドによる:

$ docker exec -it コンテナID bash

bash-5.0# ls
コピー中 bin conf data elasticsearch extensions lib logs temp web
bash-5.0#

SonarQubeコンテナに入ることができます。 /opt/sonarqube構成ファイル、プラグイン、データ ファイル、ログ ファイルなどを表示できます。実際の使用はホスト マシンのディレクトリにマップされる必要があるため、インスタンスを再起動してもデータと構成はそのまま残ります。

2.4 プラグインのインストール

SonarQube強力なプラグイン管理機能を提供します。中国語言語パックを例に、プラグインのインストール方法を説明します。

Administration-Marketplace-Plugins 、検索ボックスにChineseと入力し、インストールを選択します。

ステータスにInstall Pendingと表示されたら、プラグインのインストールは完了です。有効にするには、 Restart Serverクリックします。

3. Mavenでコードを検出する

3.1 アカウントとパスワードによる使用

SonarQubeプラットフォームのアドレスを指定し、コードを検出するためのユーザー名とパスワードを指定します。具体的なコマンドは次のとおりです。

mvn clean verify sonar:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.login=admin -Dsonar.password=admin

3.2 トークンによる使用

もちろん、 admin直接使用してパスワードを公開するのは良い習慣ではありません。配置-權限-用戶を通じてユーザーとトークンを作成できます。

トークン9656c84090b2481db6ea97b6d14d87d546bff619をコピーします。

このようにして、トークンを介して操作できます。

mvn clean で sonar を検証します:sonar -Dsonar.host.url=http://localhost:9000 -Dsonar.login=9656c84090b2481db6ea97b6d14d87d546bff619

コマンドを実行すると、インターフェース上に新しいプロジェクトが自動的に作成され、検出結果が表示されます。

Sonar 、テスト カバレッジ、複雑さなど、より良いコードを書くのに大いに役立つ多くの指標を提供します。

4 結論

SonarQubeは強力であり、理解して習得する必要がある重要なDevOpsツールの 1 つです。

これで、Docker を使用してコード検出プラットフォーム SonarQube を構築し、Maven プロジェクトを検出する方法についての記事は終了です。Docker を使用してコード検出プラットフォーム SonarQube を構築し、Maven プロジェクトを検出する方法についての関連コンテンツをさらにご覧になりたい場合は、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • docker を使って sonarqube を構築する方法

<<:  VUEはトークンログイン認証を実装

>>:  mysql5.6 の無効な utf8 設定の問題を解決する

推薦する

Tomcatがセッションを管理する方法の例

ConcurrentHashMapを学習しましたが、どのように適用すればよいかわかりませんか? To...

初心者向けウェブサイト構築チュートリアル: 10 日間でウェブサイトの構築方法を学ぶ

10 日間のチュートリアルでは、最も理解しやすい言語を使用し、最も基本的なことから始めて、誰もが W...

JavaScript 遅延読み込みの詳細な説明

目次遅延読み込みCSS スタイル: HTML部分:スクリプト部分:要約する遅延読み込み名前の通り、私...

検証例 MySQL | 同じ値を持つフィールドを更新すると、binlog に記録されます

1. はじめに数日前、開発仲間から、フィールドを同じ値に更新すると binlog が記録されるかどう...

ウェブデザインの初心者に役立つ学習教材をいくつかお勧めします

勉強中に読んだ本についてもよく聞かれます。以下は初心者におすすめの本です(私が勉強中に読んだ本です。...

チャットバブル効果を実現するCSS

1. レンダリングJD効果シミュレーション効果 2. 原則高さと幅が0のボックスを用意しますこのボ...

MySQL のロックの仕組みと使用法の分析

この記事では、例を使用して MySQL のロック メカニズムと使用方法を説明します。ご参考までに、詳...

MySQLのワークベンチ例の詳細な説明

MySQL Workbench - モデリングおよび設計ツール1. モデルは、最も効果的で高性能なデ...

HTMLページ内の検索機能を完了する

最近、たくさんの人に改変してもらったフレームワークに取り組んでいます。毎日コードを見ていると目が回り...

動的なテーブル効果を実現するJavaScript

この記事では、動的なテーブル効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

Windows での MySQL の使用: 自動スケジュールバックアップの実装

1. バックアップスクリプトを書く 著者:www.yumi-info.com 日付:20171222...

Windows SSHサーバーを簡単に構築するためのいくつかの手順

ここで言及されている SSH は Security Shell と呼ばれます。Linux をよく使用...

MySQL インデックス プッシュダウンを 5 分で学ぶ

目次序文インデックス プッシュダウンとは何ですか?インデックスプッシュダウン最適化の原理インデックス...

MySQLとOracleの違いを簡単に説明してください

1. Oracle は大規模データベースですが、MySQL は小規模から中規模のデータベースです。O...

VMware 仮想マシンのネットワークの問題の解決方法

目次1. 問題の説明2. 問題解決1. 仮想マシンシステムのインストール時にネットワークがない場合2...