Jenkins CI上のOpenStackの統計コード分析ツールの統合

JenkinsとのPyLintの統合

Centosにpylintをインストールする

pip install pylint 



 touch pylint.cfg pylint --generate-rcfile > pylint.cfg 

ファイルを生成した後、プロジェクトのルートディレクトリに配置する必要があります

ジェンキンスで起動


2.無料の構成でプロジェクト(ジョブ)を作成する
3.ソース管理ポイントで、リポジトリへのリンクを挿入します
4.アセンブリポイントで、「シェルコマンドの実行」または「シェルの実行」を選択します。

 find /var/lib/jenkins/workspace/$JOB_NAME/<path/to/check> -iname "*.py" | xargs pylint --disable=all 

5.アセンブリ後の操作で、「違反の報告」を選択します
6.プロジェクトを保存して実行します

図1 PyLintテスト結果
画像

図2。 PyLintテスト結果-続き1
画像

図3 PyLintテスト結果-続き2
画像

図4 PyLintテスト結果-続き3
画像

図5 PyLintテスト結果-続き4
画像

図6 PyLintテスト結果-続き5
画像

SonarQubeとJenkinsの統合

SonarQube用のMySQLのインストールと設定:

 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm sudo yum update -y sudo yum install mysql-server sudo systemctl start mysqld sudo mysql_secure_installation -  enter      mysql -u root -p CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'sonar' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar'; 

CentosにSonarQubeをインストールします。

/ optのインストールファイルをダウンロードします

 cd /opt sudo wget https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-6.0.zip 

unzipとjavaをインストールします

 sudo yum install unzip -y sudo yum install java-1.8.0-openjdk -y 

解凍ソナークベ

 sudo unzip sonarqube-6.0.zip mv sonarqube-6.0 sonarqube 

構成ファイルの構成

 vi /opt/sonarqube/conf/sonar.properties sonar.jdbc.username=sonar sonar.jdbc.password=sonar sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance sonar.web.host=localhost sonar.web.context=/sonar sonar.web.port=9000   http://localhost:9000    sonarqube 

SonarQubeを起動します。

 cd /opt/sonar/bin/linux-x86-64/ sudo ./sonar.sh start 

SonarQubeをサービスとして設定する:

ファイルを作成

 /etc/init.d/sonar 

ファイルの内容にコピー

 #!/bin/sh # # rc file for SonarQube # # chkconfig: 345 96 10 # description: SonarQube system (www.sonarsource.org) # ### BEGIN INIT INFO # Provides: sonar # Required-Start: $network # Required-Stop: $network # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 # Short-Description: SonarQube system (www.sonarsource.org) # Description: SonarQube system (www.sonarsource.org) ### END INIT INFO /usr/bin/sonar $* 

SonarQubeへのリンク

 sudo ln -s /opt/sonarqube/bin/linux-x86-64/sonar.sh /usr/bin/sonar 

権限の設定とブートへの追加

 sudo chmod 755 /etc/init.d/sonar sudo chkconfig --add sonar 

ソナーを起動

 sudo service sonar start 

ソナーランナーをインストールします。

 yum install sonar-runner wget http://repo1.maven.org/maven2/org/codehaus/sonar/runner/sonar-runner-dist/2.4/sonar-runner-dist-2.4.zip unzip sonar-runner-dist-2.4.zip mv sonar-runner-2.4 /opt/sonar-runner export SONAR_RUNNER_HOME=/opt/sonar-runner export PATH=$PATH:$SONAR_RUNNER_HOME/bin 

プロジェクトルートにsonar-project.propertiesファイルを作成する必要があります。 ファイルの内容の例:

画像

Jenkinsでの実行:

1. Jenkinsの設定-プラグイン管理で、プラグイン「SonarQube Scanner for Jenkins」をインストールして、視覚的なレポートを生成します
2.「Jenkins設定」-「システム構成」-「SonarQubeサーバー」に移動します(この構成が存在しない場合は、Jenkinsを再起動する必要があります)。 次に、構成フィールドに入力する必要があります。

図8 Jenkins Continuous Integration SystemでのSonarQubeサーバーの構成
画像

3.「Jenkins Settings」-「Global Tool Configuration」-「SonarQube Scanner」に進みます。 構成フィールドに入力します

図9 Jenkins Continuous Integration SystemでSonarQube Scannerを構成する
画像

4.無料の構成でプロジェクト(ジョブ)を作成する
5.ソース管理ポイントで、リポジトリへのリンクを挿入します
6.アセンブリポイントで、「SonarQubeスキャナーの実行」を選択します
[分析プロパティ]フィールドに、sonar-project.propertiesファイルからパラメーターを入力するか、このファイルへのパスを指定します
7.プロジェクトを保存して実行します

図10 SonarQubeの作業結果
画像

図11 SonarQube作業結果-続き1
画像

localhostプロジェクトの結果からリンクをクリックすると、9000 / sonar / dashboard / index / keystoneで、keystoneコードの品質の確認に関するレポートを詳細に調べることができます

図12 生成されたSonarQubeレポートのサンプル
画像

図13 SonarQubeレポートの生成例-続き1
画像

Source: https://habr.com/ru/post/J331698/


All Articles