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 設定の問題を解決する

推薦する

実行中の Docker コンテナにボリュームを動的に追加する方法

以前、Docker コンテナの起動後にボリュームをマウントできるかどうか尋ねられたことがあります。m...

Portainer を使用した Docker コンテナのデプロイのプロジェクト実践

目次1. 背景2. 操作手順3. Portinerをインストールする3.1 Dockerのデプロイメ...

MySQL カーソルの定義と使用法

カーソルの作成まず、MySql でデータ テーブルを作成します。 存在しない場合はテーブルを作成 `...

Dockerfile テキストファイルの使用例の分析

Dockerfile は、イメージをビルドするために使用されるテキスト ファイルです。テキスト コン...

Docker 起動時の ES メモリ オーバーフローの解決方法

jvm.options ファイルを elasticsearch 構成に追加し、スタック サイズを変更...

ウェブサイトのビジュアルデザインの重要なポイント

手工芸デザインからグラフィックデザイン、そしてウェブデザインまで、デザインの原則は同じままですが、私...

MySQL カーソル関数と使用法

目次意味カーソルの役割カーソルの使用カーソルの宣言カーソルを開くカーソルデータのトラバースカーソルを...

JavaScript クリップボードの使用法の詳細な説明

(1)はじめに: clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽...

YUM を使用して Linux (CentOS 7) に MySQL 5.7.18 をインストールする方法の詳細なチュートリアル

このプロジェクトでは MySQL を使用する必要があります。これまで Windows では常に確実に...

Mysql8.0はソート問題を解決するためにウィンドウ関数を使用する

MySQL ウィンドウ関数の紹介MySQL は MySQL 8.0 以降、ウィンドウ関数をサポートし...

WeChatミニプログラムでトークンの有効期限を処理する方法

目次まず結論から質問解決Promiseを使用してコールバック関数をカプセル化する要約するまず結論から...

Vue はボタンをクリックしてファイルをダウンロードする操作コードを実装します (バックエンド Java)

前回の記事では、ボタンをクリックしてファイルをダウンロードするVueの機能を紹介しました。今日は、ボ...

HTTP 戻りコード一覧(中国語と英語の説明)

httpリターンコードリスト(以下は概要です)詳細な中国語の説明についてはここをクリックしてくださ...

React は入力値を取得し、2 つのメソッドの例を送信します

方法1: DOMが提供するイベントオブジェクトのターゲットイベント属性を使用して値を取得し、送信する...