环境准备
jenkins 服务器部署扫描器 sonar-scanner:
下载地址: https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/
官方文档: https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
部署sonar-scanner主机 10.0.0.102
部署sonarqube主机: 10.0.0.109
1.部署 sonar-scanner:
sonarqube 通过调用扫描器 sonar-scanner 进行代码质量分析, 即扫描器的具体工作就
是扫描代码:
在10.0.0.102 master主机上操作
[root@jenkins-master-102 ~]#cd /usr/local/src/
wget https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472-linux.zip
mkdir /apps #新建一个apps目录
mv sonar-scanner-cli-4.6.2.2472-linux.zip /apps/ #将安装包移动到/apps/
unzip sonar-scanner-cli-4.6.2.2472-linux.zip #执行解压
ln -sv sonar-scanner-4.6.2.2472-linux /apps/sonarscanner #设置软链接
#二进制可以直接执行,但是需要在执行克隆的主机执行;
ll /apps/sonarscanner/bin/sonar-scanner
-rwxr-xr-x 1 root root 1822 May 7 12:15 /apps/sonarscanner/bin/sonar-scanner*
cd /data/gitdata/magedu/app1/ #进入克隆的项目
直接执行/apps/sonarscanner/bin/sonar-scanner* 会报错
ERROR:
ERROR: Re-run SonarScanner using the -X switch to enable full debug logging.
#更改配置文件;
vim /apps/sonar-scanner-4.6.2.2472-linux/conf/sonar-scanner.properties
2.关闭强制认证
3. 更新项目 git pull
[root@jenkins-master-102 app1]#git pull
Already up to date.
下载sonar-examples-master的压缩包
在https://github.com/weiier/sonar-examples-master下载sonar-examples-master-master压缩包
4.上传sonar-examples-master的压缩包并解压,进入目录
/root/sonar-examples-master/projects/languages/php/php-sonar-runner
vim sonar-project.properties
不修改直接执行即可
(说明:在源代码目录执行扫描:
#手动在当前项目代码目录执行扫描, 以下是扫描过程的提示信息, 扫描的配置文件 sonar-project.propertie 每个项目都要有)
执行命令
[root@jenkins-master-102 php-sonar-runner]#/apps/sonarscanner/bin/sonar-scanner
5.sonarquebe we 界面验证扫描结果:
jenkins 执行代码扫描
1.jenkins 安装 SonarQube 插件
系统管理-插件管理-可选插件-输入SonarQube -执行安装
2.添加 sonarquebe URL:
Jenkins—系统管理—系统配置–SonarQube servers
3.让 jenkins 添加 Sonarscanner 扫描器
Jenkins–系统管理-全局工具配置:
自动安装;
手动安装:
4.配置扫描:
选择自己的项目( magedu-app1) -构建-execute SonarQube Scanner, 将配置文件的内容修改成如下格式填写完成后点保存
sonar.projectKey=magedu-app1
sonar.projectName=magedu-app1
sonar.projectVersion=1.0
sonar.sources=./
sonar.language=php
sonar.sourceEncoding=UTF-8
配置项目进行扫描:
构建项目并测试 sonar-scanner 是否生效:
5.构建项目并测试 sonar-scanner 是否生效
6.查看构建项目的历史
点击后跳转出的画面
总结:
操作过程中,很多时候会因为某个地方没有找到设置的点而小纠结一下。其实做完了发现,测试是大同小异,依葫芦画瓢,首先是要找到瓢。