持续集成之整合Jenkins与代码质量管理平台Sonar并(2)

#如果在线安装插件不成功,可以把插件下载后放在此目录在重启sonar服务也可以实现安装插件,jenkins也可以通过此方式安装,另外jenkins还支持上传插件

2.1.2:安装插件:
administration-system-update center-available,在后面的搜索框搜索插件名称,然后点install安装:

持续集成之整合Jenkins与代码质量管理平台Sonar并


或在插件目录/usr/local/sonarqube/extensions/plugins执行

wget https://github.com/SonarQubeCommunity/sonar-l10n-zh/releases/download/sonar-l10n-zh-plugin-1.11/sonar-l10n-zh-plugin-1.11.jar(中文插件:)然后重启服务:

# /usr/local/sonarqube/bin/linux-x86-64/sonar.sh restart

Sonar插件安装包下载地址:
https://sonarsource.bintray.com/Distribution/

主要的是sonar对代码的分析是通过插件完成的,即分析java代码要安装java插件,分析php代码要安装php插件,分析什么语言就安装什么语言的插件
本次我们安装了php、Python、java语法检测插件

持续集成之整合Jenkins与代码质量管理平台Sonar并

root@node1 plugins]# pwd

/usr/local/sonarqube/extensions/plugins
[root@node1 plugins]# ll
total 12312
-rw-r--r-- 1 root root 128 Feb 16 18:19 README.txt
-rw-r--r-- 1 root root 4840602 Jul 4 17:05 sonar-java-plugin-4.11.0.10660.jar
-rw-r--r-- 1 root root 3733262 Jul 4 17:05 sonar-php-plugin-2.10.0.2087.jar
-rw-r--r-- 1 root root 4024311 Jul 4 17:05 sonar-python-plugin-1.8.0.1496.jar

2.1.3:代码检测测试,把sonar-scanner和sonarqube关联起来

sonar-scanner下载地址:https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/

cd /usr/local/src
wget https://sonarsource.bintray.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.0.3.778-linux.zip
unzip sonar-scanner-2.6.1.zip
mv sonar-scanner-2.6.1 /usr/local/
cd /usr/local/
ln -s sonar-scanner-2.6.1 sonar-scanner

配置sonar-scanner:

[root@node1 conf]# vim /usr/local/sonar-scanner/conf/sonar-scanner.properties
sonar.host.url=http://localhost:9000
sonar.sourceEncoding=UTF-8
sonar.jdbc.username=sonar
sonar.jdbc.password=sonar@341Jpw
sonar.jdbc.url=jdbc:mysql://192.168.3.12:3306/sonar?useUnicode=true&characterEncoding=utf8

检测PHP项目,需要在sonar中先安装SonarPHP插件,github搜索php-sonar-runner项目,对这个项目进行检测
https://github.com/hasanyousuf/php-sonar-runner-unit-tests

unzip php-sonar-runner-unit-tests-master.zip
cd php-sonar-runner-unit-tests-master

[root@node1 php-sonar-runner-unit-tests-master]# pwd
/root/php-sonar-runner-unit-tests-master

# 直接在php目录运行sonar-scanner,用于实现代码质量分析

[root@node1 php-sonar-runner-unit-tests-master]# /usr/local/sonar-scanner/bin/sonar-scanner

在sonar管理界面查看扫描结果:
dashboard --> home 点项目名称可以查看更具体的信息

持续集成之整合Jenkins与代码质量管理平台Sonar并

持续集成之整合Jenkins与代码质量管理平台Sonar并

持续集成之整合Jenkins与代码质量管理平台Sonar并

2.1.4:代码规则:

持续集成之整合Jenkins与代码质量管理平台Sonar并

2.4:如何让jenkins关联到sonar scanner?
有两种方式保存配置文件,一是保存在项目里面,二是在jenkins管理界面进行配置:
2.4.1:在jenkins插件安装界面安装SonarQuebe Scanner for Jenkins插件:

持续集成之整合Jenkins与代码质量管理平台Sonar并

2.4.2将jenkins关联sonar:
jenkins中操作:系统管理-系统设置,找到 SonarQube servers 部分

持续集成之整合Jenkins与代码质量管理平台Sonar并

添加sonar访问地址,然后点保存

持续集成之整合Jenkins与代码质量管理平台Sonar并

2.4.3添加扫描器:
2.4.3.1:#系统管理–global-tool-ocnfigration --> 添加本地sonar scanner,然后点保存

持续集成之整合Jenkins与代码质量管理平台Sonar并

2.5:配置jenkins项目构建操作:

2.5.1:复制之前sonar scanner的代码检测配置文件内容,如:

# cat /root/php-sonar-runner-unit-tests-master/sonar-project.properties

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/72bb52d467eba4940d59e6f94a7c505b.html