ジェンキンズ-ソナーケーブ統合

シナリオを想定します:GitHubにコードをコミットした後。 私はコードの品質を維持し、バグ、脆弱性、コードの匂いなどを知りたいと思っています。 (静的コード分析)Jenkinsを使用してコードを自動的にビルドする前に、コードをコミットするたびにこのアクティビティを実行する必要があります。このシナリオでは、コードの継続的な検査と継続的な統合のための

。 このシナリオでは、GitHub-Jenkins-SonarQube統合を使用したベストプラクティスに従います。

: 開発者がコードをGitHubにコミットするとすぐに、Jenkinsはリポジトリからコードをフェッチ/プルし、Sonar Scannerの助けを借りて静的コード分析を実行し、分析レポートをSonarQube Serverに送信し、自動的にプロジェクトコードをビルドします。

:

  1. JenkinsはGitHubでビルドトリガー(私の場合はポーリングSCM)を設定していますこれが行われていない場合は、このチュートリアルに従ってください— https://medium.com/@amitvermaa93/jenkins-github-with-java-maven-project-c17cdba7062
  2. SonarQubeが実行されており、システムにSonar Scannerが設定されています。 そうでない場合は、チュートリアルに従ってくださ- https://medium.com/@amitvermaa93/sonarqube-setup-windows-e6a6c01be025

ステップ1. SonarQubeサーバーを開く-管理に移動します>セキュリティをクリックします>ユーザー>トークンをクリックします(画像1)>いくつかの名前のトークンを生成します>トークンをコピーします(画像2)、それはソナー認証のためにJenkinsで使用されます。

画像1

画像2

ステップ2. Jenkinsを使用したSonarQubeの設定-Jenkinsの管理に移動します>システムの設定>SonarQubeサーバーセクション>SonarQubeの追加>名前を付け、サーバー Urlをhttp://<IP>:<ポート>>とSonarQubeサーバーからコピーされた認証トークンを提供します>適用して保存します

ステップ3. JenkinsにSonarQubeプラグインをインストールします。 Jenkinsの管理>プラグインの管理>利用可能>SonarQube Scanner>インストールを検索します。

JenkinsでSonar Scannerを設定するhttps://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

がない場合は、SonarScannerをダウンロードしてください : Mange Jenkins>Global Tool Configuration>Scroll for SonarQube Scanner>Add sonar scanner>名前を付け、既にsonarを持っている場合はチェックを外しますそれ以外の場合は自動的にダウンロードされ、sonar scannerのセッ

ステップ4. Job-New Item>Nameを作成し、プロジェクトタイプを選択します(私の場合は、mavenプロジェクトを選択しています。)

ステップ5. SCMセクションの下にGitを設定し、Build Triggerセクションの下にPoll SCMに*****を使用します。 ビルド環境セクションの下にpre-buidステップを追加>SonarQubeスキャナの実行を選択します

ステップ6. Aを作成します。プロパティファイルは任意の場所にあり、以下のようにタスクのパスを提供します(私はJenkins workspaceフォルダに作成しました)。 このプロパティファイルは、プロジェクト固有のものになります。 これは、スキャンするフォルダ、スキャンで除外するフォルダ、プロジェクトキーとは何か、より多くのあなたがそれを見ることができるような特定のソナーのプロパティが含まれています。https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

ソナー-スキャナの内部。プロパティは以下のコードを記述します—

ソナー。projectKey=github-jenkins-sonar
ソナー。ソース=./src

それを簡単に保つために、私は2つのプロパティ(上記のように)、sonarのみを使用しました。projectKeyプロパティは、プロジェクトが存在しない場合、SonarQubeサーバー内に同じ名前のプロジェクトを作成します。sourcesは、スキャンするフォルダを定義します。 Jenkinsジョブワークスペースからの相対パスまたはスキャンするフォルダーへの実際のパスを指定できます。

を使用しているので。/src(windowsパスの場合は/を使用)これは、私が現在自分の仕事のワークスペースにいることを意味します。C:\Users\Amit ヴェルマ\.jenkins\workspace\Jenkins-GitHub-SonarQubeの場所とここから私はスキャンしたいフォルダ(src)へのパスを提供しています。

ステップ7。 ジョブを構築します。 ビルドが成功した後、ビルドログを見ることができれば、スキャンしたファイルとフォルダが表示され、スキャン後に統合したSonarQubeサーバーに分析レポートが

ステップ8。 Job dashboardから、sonarアイコンをクリックするか、Sonar serverに移動しますProjects(ヘッダー)をクリックすると、sonar-scannerで指定したのと同じプロジェクトキーを持つ新しいプロジェプロパティファイル。 今、あなたはあなたのプロジェクトの中に行くとレポートを分析することができます

コメントを残す

メールアドレスが公開されることはありません。