コードの品質管理と電子メールアラートのためのソナーを使用します

A、ソナーの概要

ソナーは、コードの品質管理のためのオープンプラットフォームです。プラグイン機構により、ソナーは、異なるテストツールを統合するコード分析ツール、ならびに継続的な統合ツールができます。

そして、別の統合ツール(例えば、ハドソン/ジェンキンス、など)の連続、ソナーは、直接Webページに簡単に(などFindBugsの、PMD、など)異なるコードチェックツールの結果ではないが、その後、これらの結果は、異なるプラグインでした簡単エンジニアリングコードの品質管理の異なるサイズやタイプにすることができますので、仕方の変化を定量化することによって、コードの品質メトリクスを処理します。

他のツールのサポートでは、ソナーだけでなく、IDEのサポートを提供し、あなたはオンラインEclipseとのIntelliJ IDEAでの結果、これらのツールで見ることができ、同時にまた、ソナー、継続的インテグレーションツールの多くはインターフェイスのサポートを提供し、簡単に維持することができますソナーの使用を統合しました。

また、ソナーのプラグインはまた、国際的な報告および文書化のためにも良いサポートで、Java以外の他のプログラミング言語のサポートを提供することができます。

ソナー機能は、コードがバグであるかどうかを確認することです。チェックに加えて、コードがバグであるかどうかなどの他の特徴、持っている:あなたのコードレートは、コメントの数ですが、コードが推奨文法を準備するいくつかの提案を持っています。だから、品質管理と呼ばれます。

ソナーとダウンロード関連文書は以下のリンクで見ることができます:http://www.sonarqube.org/downloads/
ソナーの最新バージョンは、少なくともJDK 1.8を必要とし、上記のことに注意してください。

第二に、ソナーの展開

注:以下の設定がボーエン基づきする必要があります継続的な統合の実現ジェンキンス+ Gitlabを展開するための環境を。

パッケージやプラグインに必要なデプロイメント環境が、この介してアクセスできるリンクをダウンロードします。
必要なプラグインのソナーは、ウェブサイトhttps://docs.sonarqube.org/display/PLUG経由でダウンロードすることができます!

[root@jenkins ~]# wget https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-5.6.zip
[root@jenkins ~]# unzip sonarqube-5.6.zip
[root@jenkins ~]# mv sonarqube-5.6 /usr/local/sonarqube
[root@jenkins ~]# ln -s /usr/local/sonarqube/bin/linux-x86-64/sonar.sh /usr/local/bin

第三に、MySQLデータベースをインストール

データベースを使用するためのソナー必要性は、MySQLやOracle、SQLサーバーは、このブログではサポートされているMySQLデータベースを使用しています。環境がすでにMySQLデータベースを存在する場合は、再デプロイする必要があるし、適切なデータベースとユーザーを作成することができません!

簡単にするために、スクリプトを使用して迅速な配備MySQLデータベースは、MySQLデータベースをインストールし、ダウンロードMySQLをインストールするためのキーを

ヒント:ソナーは、インストールスクリプトがmysql5.7のバージョンを提供し、MySQLのバージョン5.6をインストールすることをお勧めしますmysqlの5.5、またはそれ以上をサポートしていないようです!

[root@jenkins ~]# ls mysql*
mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz  mysql.sh
[root@jenkins ~]# sh mysql.sh 
Starting MySQL.. SUCCESS! 
mysql: [Warning] Using a password on the command line interface can be insecure.
[root@jenkins ~]# mysql -u root -p123               #脚本提供的root的密码是123
#登录mysql数据库
mysql> create database sonar character set utf8 collate utf8_general_ci;
mysql> grant all on sonar.* to 'sonar'@'%' identified by '123.com';
mysql> grant all on sonar.* to 'sonar'@'localhost' identified by '123.com';
mysql>  flush privileges; 

第三に、コンフィギュレーション・ソナー

[root@jenkins ~]# vim /usr/local/sonarqube/conf/sonar.properties
#编辑sonar的主配置文件
sonar.jdbc.username=sonar
sonar.jdbc.password=123.com                   #指定连接数据库使用的用户及密码
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerforman
#定义连接mysql数据库的地址及端口(默认存在去除注释即可)
sonar.web.host=0.0.0.0
sonar.web.port=9000                # 定义Sonar提供Web页面监听的IP地址和端口
#接下来配置sonar支持中文页面以及支持PHP语言
[root@jenkins ~]# cd /usr/local/sonarqube/extensions/plugins/    
[root@jenkins plugins]# ls *.jar            #确保这个目录下有这两个jar包
sonar-l10n-zh-plugin-1.11.jar  sonar-php-plugin-2.9-RC1.jar
[root@jenkins ~]# sonar.sh start                 #启动sonar
[root@jenkins ~]# tail -2 /usr/local/sonarqube/logs/sonar.log
2020.02.13 14:59:03 INFO  ce[o.s.ce.app.CeServer] Compute Engine is up
2020.02.13 14:59:03 INFO  app[o.s.p.m.Monitor] Process[ce] is up
#确保sonar的日志出现以上两行内容
[root@jenkins ~]# ss -lnt | grep 9000
LISTEN     0      25           *:9000                     *:*      
#确保sonar的端口已经在监听

アクセスソナーWebページとして、次のとおりです。
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します

第四に、実装コードのスキャン設定ソナー

[root@jenkins ~]# wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.3.0.1492-linux.zip
[root@jenkins ~]# unzip sonar-scanner-cli-3.3.0.1492-linux.zip 
[root@jenkins ~]# mv sonar-scanner-3.3.0.1492-linux/ /usr/local/sonar-scanner
[root@jenkins ~]# ln -s /usr/local/sonar-scanner/bin/sonar-scanner /usr/local/bin/
[root@jenkins ~]# ln -s /usr/local/sonar-scanner/bin/sonar-scanner /usr/bin
[root@jenkins ~]# vim /usr/local/sonar-scanner/conf/sonar-scanner.properties
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
#以下是从sonar的主配置文件中复制:/usr/local/sonarqube/conf/sonar.properties中复制过来的,用于连接数据库
sonar.jdbc.username=sonar
sonar.jdbc.password=123.com
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance

第五に、テストコードスキャン機能

[root@jenkins ~]# unzip testalyzer-master.zip     #该软件包可从博文开头连接中获取
[root@jenkins ~]# cd testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests/
[root@jenkins php-sonar-runner-unit-tests]# cat sonar-project.properties 
#看一下下面的文件中都包含了些什么
sonar.projectKey=org.sonarqube:php-ut-sq-scanner     #自定义秘钥,如果秘钥一样,就会自动覆盖之前的测试结果
sonar.projectName=PHP :: PHPUnit :: SonarQube Scanner        #web界面显示的名称
sonar.projectVersion=1.0      #版本
sonar.sources=src        #软件包存放路径
sonar.tests=tests       #测试路径
sonar.language=php        #要测试的语言
sonar.sourceEncoding=UTF-8          #编码格式
sonar.php.coverage.reportPath=reports/phpunit.coverage.xml
sonar.php.tests.reportPath=reports/phpunit.xml
#也就是说在项目里面必须有这个配置文件才可以进行扫描

#测试PHP代码
[root@jenkins php-sonar-runner-unit-tests]# pwd    #确定在当前路径
/usr/src/testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests
[root@jenkins php-sonar-runner-unit-tests]# sonar-scanner    #进行测试
#测试js代码
[root@jenkins php-sonar-runner-unit-tests]# cd /root/testalyzer-master/projects/languages/javascript/javascript-sonar-runner
[root@jenkins javascript-sonar-runner]# sonar-scanner      #进行测试

実行はJSとPHPの完全なテストをしたら、ソナーWebインターフェイスで次のように表示することができます
コードの品質管理と電子メールアラートのためのソナーを使用します
示すように、クリックした後、詳細情報を表示します:
コードの品質管理と電子メールアラートのためのソナーを使用します

第六には、コンフィギュレーション・ジェンキンスソナーを開きます

Webインタフェースへのジェンキンスログには、プラグインをインストールする必要があり、二つの方法でインストールするには、オンラインとオフラインのインストールがありますが、私はあなたがオンラインで自分の道をインストールすることができ、ここでは、オフラインインストールを選択します。

1)をクリックします:システム管理] - > [プラグインマネージャ - >詳細は、その後、スクロールダウン:

ダウンロードに必要なプラグイン「ソナー」に従って- >「gerrit-トリガー」 - >「ソナー・ヘリット」はインストールすることができ、オンラインのインストール手順:「SonarQubeスキャナ」 - >「ヘリット・トリガー」 - >「ソナーヘリット「プラグインの
図:
コードの品質管理と電子メールアラートのためのソナーを使用します

2)クリック:システム管理 - 次のように>システム設定、構成は次のとおりです。

コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します

3)クリック:システム管理 - >グローバルコンフィギュレーションツールは、その後、スクロールダウン:

コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します

4)以下のように、プロジェクトのブログの記事に組み込まれました。

コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します

区別の便宜上、次のコードを入力します。

sonar.projectKey=web-demo
sonar.projectName=web-demo
sonar.projectVersion=1.0
sonar.sources=src
sonar.tests=tests
sonar.language=php
sonar.sourceEncoding=UTF-8   
sonar.php.coverage.reportPath=reports/phpunit.coverage.xml
sonar.php.tests.reportPath=reports/phpunit.xml   

コードの品質管理と電子メールアラートのためのソナーを使用します

5)端末にバック、コードgitlabを提出し、自動スキャンソナーを達成することができます

[root@jenkins ~]# cp -r testalyzer-master/projects/languages/php/php-sonar-runner-unit-tests/* test01/
[root@jenkins ~]# cd test01/
[root@jenkins test01]# git add .
[root@jenkins test01]# git commit -m "test sonar"
[root@jenkins test01]# git push origin master

図:
コードの品質管理と電子メールアラートのためのソナーを使用します
それは成功を構築するかどうかを確認するために推奨ジェンキンスページに、そして、ない場合は!

七は、configureジェンキンスは、電子メールアラートを実現しました

1)認証コードEメールを取得します

例のQQメール:
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します

2)アラーム設定のメッセージ:

ジェンキンスさんのウェブはクリックインターフェース:システム管理を- > [システム設定、ドロップダウンの電子メールアドレスを入力して、システム管理者を救う:
コードの品質管理と電子メールアラートのためのソナーを使用します
ドロップダウンリストを埋めるために続け!
コードの品質管理と電子メールアラートのためのソナーを使用します

3)設定項目

コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します
コードの品質管理と電子メールアラートのためのソナーを使用します

4)試験

再起動gitlabサービス、次のように、プロジェクトを再構築します。

[root@jenkins ~]# gitlab-ctl restart

図:
コードの品質管理と電子メールアラートのためのソナーを使用します
次のように着信メール:
コードの品質管理と電子メールアラートのためのソナーを使用します

------------紙これまで、読んでくれてありがとう------------

おすすめ

転載: blog.51cto.com/14157628/2470940