SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

展開構成と前1.SonarQubeカーネルパラメータのJava環境の設定

1)環境要件を満たしているカーネル・パラメーターを変更

[ルート@ sonarqube〜]#Vimの/etc/sysctl.confの
vm.max_map_count = 262144 
fs.file-MAX = 65536 
カーネルパラメータ[ルート@ sonarqubeは〜]#sysctlを -p# 開始修正
...... 
vm.max_map_count = 262144の
FS .FILE-MAX = 65536

2)ネイティブセキュリティポリシーパラメータの上限を変更します

[ルート@のsonarqube〜]#Vimの/etc/security/limits.confを
...... 
sonarqube - NOFILE 65536 
sonarqube - NPROC 2048

3)Java環境を設定し(少なくともJDK-8 OpenJDKの-8またはバージョン)

[ルート@のsonarqube〜]#のLSは/ usr / local / srcに/ 
 JDK-8u211-のlinux-x64.tar.gz 
[ルート@ sonarqubeのソース]#タールあるxv JDK-8u211-のlinux-x64.tar.gz 
[ルート@ sonarqube SRC] #ln -sv jdk1.8.0_211 JDK 
[ルート@ sonarqubeソース] #ln -sv JDK 
[ルート@ sonarqubeのソース]#LN -sv JDK / binに/ *は/ usr / binに
[ルート@のsonarqubeのソース]#のvimの/ etc / profileを
...... 
輸出輸出LANG = "EN_US.UTF-8" 
輸出JAVA_HOME =は/ usr / local / jdkの
輸出PATH = $ JAVA_HOME / binに:$ JAVA_HOME / JRE / binにします。$ PATHの
輸出CLASSPATH = $ JAVA_HOME / libに: $ JAVA_HOME / JRE / libに:$ JAVA_HOMEが/ libに/ tools.jarを

2.データベースの準備(sonarqube7.9バージョンは、もはや例えばsonarqube6.7ためにここには、MySQLをサポートし、少なくともmysql5.6を必要としています)

1)先に優れたデータとデータベース・ユーザーの関連パスの定義が開始します

[ルート@ sonarqubeは〜]#はパスます。mkdir /データ/ MySQLの#データベースのデータを保存し
、[ルートの@ sonarqube〜]#個ます。mkdir /データ/ binlogの/ binに# バイナリログストアディレクトリ
[ルート@ sonarqube〜]#chownコマンドの mysql.mysql - R&LT /データ/ビンログ
[ルート@をsonarqube〜]#chownコマンド-R&LT mysql.mysql /データ/ MySQLの
[ルート@をsonarqube〜]#useraddの-s / sbinに/ nologinに/ MySQLの-u 1234

2)ソースコードのアーカイブをダウンロードmsyql

[ルート@ sonarqube〜]#のLS /アプリケーション/ mysqlの/ 
mariadb-10.2.23-linuxの-x86_64.tar.gz

3)解凍し、ソフトリンクを作成

mariadb-10.2.23-のlinux-x86_64.tar.gzあるxv [ルート@のsonarqube〜]#タール
[ルート@ sonarqube〜]#のLN -sv mariadb-10.2.23-のlinux-x86_64版のMySQL

4)ソフトリンクの実行可能なバイナリファイルを作成します。

[ルート@のsonarqube〜]#LN -sv /アプリケーション/ mysqlの/ mysqlの/ binに/ *は/ usr / sbinに/

5)起動スクリプトファイルのmysqlを変更

[sonarqubeルート@〜]#Vimの/apps/mysql/mysql/support-files/mysql.server 
...... 
BASEDIR = /アプリ/ mysqlの/ mysqlの#mysqlのインストール操作定義されたディレクトリ
のmysqlを定義しDATADIR = /データ/ mysqlの#データベースファイルディレクトリを保存し
......

6)ホスト名の解決提案された変更は、ローカルホスト名がローカルループバックに解決変更します

[ルート@のsonarqube〜]#のvimの/ etc / hostsの
127.0.0.1 localhostのsonarqube localhost.localdomainをlocalhost4 localhost4.localdomain4 
......

初期7)データベースの実行

[ルート@ sonarqubeスクリプト]#のPWD 
/アプリ/ MySQLの/ MySQLの/スクリプト
[ルート@ sonarqubeスクリプト]#LS 
mysql_install_dbの
[ルート@ sonarqubeスクリプト]#mysql_install_dbの--user = MySQLの--datadir = /データ/ MySQLの

8)MySQLサービスを開始

[ルート@のsonarqubeサポート-ファイル]#のPWD 
/アプリケーション/ mysqlの/ mysqlの/サポート・ファイル
[ルート@のsonarqubeサポート-ファイル]#のバッシュmysql.serverを開始

9)ポートは3306を起動するかどうかを確認してください

[ルート@ sonarqube〜] -tnlp#ssの
状態のRecv-Q送る-Qローカルアドレス:ポートピアアドレス:ポート
...... 
0 80 ::: 3306をLISTEN ::: *                   
 ユーザー:(( "のmysqld"、PID = 9865、 FD = 18))
......

10))のデータベースを作成し、sonarqube(キャラクタ・セットUTF8を認可

MariaDB [(なし)]> [データベースsonarqubeのデフォルト文字セットのutf8コレートutf8_general_ciを作成します。
MariaDB [(なし)]> sonarqubeに全てを付与* '123456'によって識別' sonarqube@'192.168.1.31します。

11)ユーザがデータベースsonarqubeをログに記録することができるかどうかをテスト

[ルート@ sonarqube〜]#mysqlの-usonarqube -p123456 -h192.168.1.31 
MariaDBモニタへようこそ。コマンドは、で終わります。や\ g。
あなたのMariaDBの接続IDが12である
サーバーのバージョン:10.2.23-MariaDBログMariaDB Serverの

著作権(C)2000、2018、MariaDB株式会社アブなどがあります。

「助けを;」タイプ 助けのためか、「\ hを」。型「\ c」が現在の入力文をクリアします。

MariaDB [(なし)]> 
MariaDB [(なし)]>ショーデータベース; 
+ -------------------- + 
| データベース| 
+ -------------------- + 
| INFORMATION_SCHEMA | 
| sonarqube | 
| テスト| 
+ -------------------- + 
組の3行(0.00秒)

3.sonarqube-6.7のインストール構成

1)ソースアーカイブをダウンロード

[ルート@のsonarqube〜]#のLS /アプリケーション/ sonarqube 
sonarqube-6.7.7.zip

2)sonarqubeソースパッケージを抽出し、ソフトリンクを作成します

[ルート@ sonarqubeのsonarqube]#解凍sonarqube-6.7.7.zip 
[ルート@ sonarqubeのsonarqube]#LN -sv sonarqube-6.7.7 sonarqube 
'sonarqube' - > 'sonarqube-6.7.7'

3)ユーザーを作成し、ディレクトリの所有者がグループで変更

[ルート@のsonarqubeのsonarqube]#useraddのsonarqube 
[ルート@のsonarqubeのsonarqube]#chownコマンドsonarqube.sonarqube -R /アプリケーション/ sonarqube /

4)設定sonarqubeプロフィール

[ルート@のsonarqube confに]#suコマンド- sonarqube 
最終ログイン:月7月29日13時48分33秒CST 2019 PTS / 1で
[sonarqube @ sonarqube〜] $のCD /アプリケーション/ sonarqube / sonarqube 
[sonarqube @ sonarqube sonarqube] $のはgrep " ^ [AZ]」のconf / sonar.properties 
sonar.jdbc.username = sonarqube 
sonar.jdbc.password = 123456 
sonar.jdbc.url = JDBCます。mysql://192.168.1.31:?3306 /ソナーuseUnicode =真&characterEncoding = UTF8&rewriteBatchedStatements =真&useConfigs = MAXPERFORMANCE&useSslオプション= falseを
sonar.web.host = 0.0.0.0 
sonar.web.port = 9000

5)sonarqubeサービスを開始

[sonarqube @ sonarqube sonarqube] $が開始./bin/linux-x86-64/sonar.sh 
SonarQubeを開始しています... 
SonarQubeを開始しました。

6)チェックリスニングポート

-tnlp [sonarqube @ sonarqube sonarqube] $ ssの
ポートピアアドレス:国家のRecv-Q送信-Qローカルアドレスポートは、               
0〜128 *をLISTEN:111 *:*                   
0 128 *をLISTEN:22 *:*                   
0 100 127.0.0.1をLISTEN: 25 *:*                   
LISTEN 0~1 127.0.0.1:32000 *:*                    
ユーザー:(( "ジャワ"、PID = 10447、FD = 4))は、
0〜25 ::: 9000 ::: * LISTEN                    
(( "ジャワ":ユーザーを、PID = 10544、FD = 116)) 
0 128 :: FFFFを聴きます: 127.0.0.1:9001 ::: *                   
 ユーザー:(( "javaの"、PID = 10467、FD = 100))
0 80 ::: 3306をLISTEN ::: *                   
0 128をLISTEN ::: 111 ::: *                   
0 128 ::: 22 LISTEN ::: *                   
0 100 :: 1 LISTEN:25 ::: *                   
0 50 :: FFFF LISTEN:127.0.0.1:9092 ::: *                   
 ユーザー:(( "Javaの」PID = 10544、FD = 148))

7)ブラウザアクセスsonarqube

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

8)ユーザー名とパスワードでログオンがデフォルトで管理されています

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

9)Webページのログインsonarqubeの成功

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

4.プラグの取り付けは、中国語、中国のインタフェースが表示さ

1)管理→マーケット、中国のダイレクト検索プラグインをクリックします。

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

2)インストール[インストール]をクリックします

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

3)再起動サービス

[sonarqube @のsonarqubeのlinux-のx86-64] $ ./sonar.sh再起動

4)、再度表示中国語インタフェースにアクセスする場合

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

5)中国のビューは、プラグイン・パッケージをインストール

[sonarqube @ sonarqube sonarqube] $のLLの拡張/プラグイン/ 
... 
-rw-rを- r--の1 sonarqube sonarqube 38307 7月29日15時05ソナー-L10N-ZH-プラグイン1.19.jar 
......

関連する言語コードをスキャンするために6)のインストール、Java(登録商標)、PHPと他の開発言語プラグイン

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開
SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開
SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

配備スキャナソナー・スキャナ(スキャナによってsonarqubeスキャンコード)

1)スキャナバイナリアドレス×××

https://binaries.sonarsource.com/Distribution/sonar-scanner-cli

2)指定したディレクトリにスキャナをダウンロード

[ルート@のsonarqubeのsonarscanner]#のPWD 
/アプリ/ sonarscanner 
[ルート@のsonarqubeのsonarscanner]#1 LL -h 
合計41M 
-rw-R - r--の1つのルートのルート41M 7月22日午前19時31 sonarscanner-CLI-4.0。 0.1744-linux.zip

3)ソフトリンクを作成するために、ソースコードやバイナリスキャナを抽出

[ルート@ sonarqubeのsonarscanner]#解凍sonar-scanner-cli-4.0.0.1744-linux.zip 
[ルート@のsonarqubeのsonarscanner]#件のls 
sonarscanner-4.0.0.1744-Linuxのsonarscanner-CLI-4.0.0.1744-linuxの。ジップ
[ルート@ sonarqube sonarscanner]#LN -sv sonarscanner-4.0.0.1744-Linuxのsonarscanner 
'sonarscanner' - > 'sonarscanner-4.0.0.1744-Linuxの

4)設定ファイルを変更します

[ルート@ sonarqubeソナースキャナ]#のvimのconfに/ sonar-scanner.properties 
...... 
#-----デフォルトSonarQubeサーバ
sonar.host.url =のhttp://192.168.1.31:9000 

#-----デフォルトソースコードエンコーディング
sonar.sourceEncoding = UTF-8

5)圧縮されたパケットにテストコードを準備し、カレントディレクトリを抽出します

[ルート@ sonarqubeコードテスト]#のPWD 
/アプリケーション/コード検定
[ルート@のsonarqubeコードテスト]#1 LL -h 
合計6.5M 
-rw-R - r--の1つのルートのルート6.5M 2018年11月21日sonar- examples-master.zip 
[ルート@のsonarqubeコードテスト]#解凍sonar-examples-master.zip

6下)テストパスのソースに

[ルート@のsonarqube PHP-ソナーランナー]#のPWD 
/アプリケーション/コードテスト/ソナー-例マスタ/プロジェクト/言語/ PHP / PHP-ソナー・ランナー
[ルート@のsonarqube PHP-ソナーランナー]#LLを
合計12 
-rw-R - r--の1ルートルート453 2016年7月25日README.md 
-rw-R - r--の1ルートルート331 2016年7月25日sonar-project.properties 
drwxr-XR-X 2ルートルート7月22日25 2016 SRC 
-rw-rを- r--の1つのルートルート272 2016年7月25日validation.txt

7)デフォルトの設定ファイルには、コードを生成しました

[ルート@のsonarqube PHP-SONAR-ランナー] CAT sonar-project.properties#の
#必要なメタデータ
sonar.projectKey = org.sonarqube:シンプルなPHP-Scanner-#SQ-ボリュームのカスタムプロジェクトキー
sonar.projectName単純なプロジェクト:: PHP = :: sonarQubeスキャナ#プロジェクト名
sonar.projectVersion =#バージョン1.0プロジェクト

#カンマ区切りパスをソースとディレクトリへの(必要な)
ソースパス= SRC#1 sonar.sources 

#言語
の型sonar.language = PHP#ソースコードをPHPコード

ソースの#エンコーディングはファイル
sonar.sourceEncoding = UTFエンコード形式を8#

8)現在のコードパスに走査を行います

[ルート@のsonarqubeのphp-ソナー-ランナー]#/アプリケーション/ sonarscanner / sonarscanner / binに/ sonarscanner 
...... 
TLY、それを指定します。
INFO:1ファイルのためのCPDを計算
INFO:CPDの計算が終了し
213msで生成された分析レポート、DIRサイズ= 34キロバイト:INFOは
INFO:42msで圧縮された分析レポート、ジッパーサイズ= 10キロバイト
INFO:3108msでアップロード分析レポート
INFO:ANALYSIS SUCCESSFUL、あなたはhttp://192.168.1.31:9000/dashboard/index/org.sonarqube:php-simple-sq-scanner閲覧することができ
、サーバが提出した分析レポートを処理した後に更新されたダッシュボードにアクセスできるようになることに注意してください。INFOを
INFO:レポート処理の詳細http://192.168.1.31:9000/api/ce/task?id=AWw9AEUVHii-ILef0qYqで
INFO:タスク合計時間:17.226秒
INFO:------------------------------------------------ ------------------------ 
INFO:実行SUCCESS 
INFO:-------------------- -------------------------------------------------- - 
INFO:合計時間:29.467s 
INFO:最終メモリ:7M / 115M 
INFO:------------------------------- -----------------------------------------

9)ウェブ端ビュースキャン記録した後に生成

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

6.jenkins構成sonarqubeスキャナと自動テストジェンキンスコード、自動的にデプロイ

1)スキャナプラグインをインストール

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

2)システム設定sonarqubeサービスをクリックします

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

3)sonarqubeサービスを追加し、サービス名をカスタマイズして、URLアドレス

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

4)自動スキャナスキャナをインストール

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

5)インストールした場合はスキャナスキャナは自動的にインストールする必要はありません、作業ディレクトリスキャナに直接追加

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

6)ジェンキンスで新しいプロジェクトのコード・テスト・ジョブを作成します

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

7)このプログラムの設定を構成します

Gitlab指定されたウェアハウス・ソース、認証

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

パスワードビルドトリガーキー

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

検出コード符号化フォーマット、パスなどのタイプを指定スキャン設定パラメータコード

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

8)自動トリガ・ジェンキンスを構築するプロジェクトを実現するために、ジェンキンスアドレス認証を追加するgitlabサーバーにフック

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

9)クローンgitlab倉庫コードとジェンキンスを構築するためのgitlab倉庫プロジェクトをトリガするためにコードを変更し、それをアップロード

指定されたクローンは、支店コードを開発します
1804 @ルート:/データ/ srcに#gitのクローン-b http://192.168.1.30/jie/web-page.gitを開発
... 'ウェブページ'へのクローニング
'http://192.168.1.30'のユーザー名を:傑の
'://[email protected]のhttp'のパスワード
リモート:列挙オブジェクト:30、行わ。
リモート:カウント・オブジェクト:100%(30/30)、行います。
リモート:圧縮オブジェクト:100%(13/13)、行います。
リモート:合計30(デルタ4)、27(デルタ4)再利用
行わ、100%(30/30):開梱オブジェクトを。
ディレクトリのPHPのクローンにソースファイルを追加します。
ルートの@ ubuntu1804:/データ/ SRC /ウェブページ#mvと/data/Math.php ./ 
ルートの@ ubuntu1804:/データ/ SRC /ウェブページ#のLS 
index.htmlをMath.php
地元のステージングエリアにコードを追加します。
ルートの@ ubuntu1804:/データ/ SRC /ウェブページ#gitの追加./*
コードは、作業エリアに提出し、区別の複数の提出を提出するために、バージョン番号を指定します
ルートの@ ubuntu1804:/データ/ SRC /ウェブページ#gitのは、-m 'V11'をコミット
V11 [9e106d4開発] 
 1ファイルを、214の挿入(+)に変更
 モード100644 Math.phpを作成
コードライブラリコードはgitlabにアップロードされています
ルートの@ ubuntu1804:/データ/ SRC /ウェブページ#のGitのプッシュ
'http://192.168.1.30'のユーザー名:傑の
'://[email protected]のhttp'のパスワード
カウントオブジェクト:3、行わ。
4つのスレッドまで使用してデルタ圧縮。
圧縮オブジェクト:100%(3/3)が行わ。
書き込みオブジェクト:100%(3/3)、1.75 KiBの| 893.00 KiBの/ sが、行って。
トータル3(デルタは0)、0(デルタ0)を再利用し
たリモート:
リモート:訪問し、開発のためのマージ要求を作成するには:
リモート:http://192.168.1.30/jie/web-page/merge_requests/new?merge_request%5Bsource_branch %5D =開発
リモート:
http://192.168.1.30/jie/web-page.gitに
     3fb434f..9e106d4開発- >開発

10)gitlabサーバー側のコードが正常に送信されました確認してください

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

プロジェクトのビルドgitlabのジェンキンスにコードを提出する)11後に自動的にトリガ

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

成功したコンソール出力情報を構築するため12)Viewプロジェクト

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

13)sonarqubeサーバサーバPHPコード記録されたテスト結果を見ます

SonarQubeコード検出および展開サービスの実装コードジェンキンス自動テスト、自動展開

おすすめ

転載: www.linuxidc.com/Linux/2019-07/159715.htm