Jenkins集成Sonar(3/3)- 安装SonarQube Scanner进行扫描(离线安装)

安装方式选择:

  • 在线安装:直接在Jenkins》系统管理》插件管理》可选插件,搜索Sonar
  • 离线安装:下载sonar插件,将插件解压放入~/.jenkins/plugins/下即可

在线安装要简单许多,由于我们是内网服务器,无外网访问权限,因此只能用离线安装,下面介绍离线安装过程

下载sonarqube scanner

请注意,后面还有个sonar-scanner,这个包40M左右,注意区分,这是用来执行分析的,而sonarqube scanner是用来和jenkins进行集成的插件

要通过jenkins使用sonarqube来进行代码的审查,需要在jenkins中安装sonarqube scanner插件并配置好以后才可以在构建的时候触发sonarqube扫描代码
下载

安装

将下载的sonarqube加压后里面有个sonar目录和sonar.jpi一起放到目录/opt/xxxx/product/bdc/.jenkins/plugins

[bdc@T5073 plugins]$ pwd
/opt/xxxx/product/bdc/.jenkins/plugins
[bdc@T5073 plugins]$ ll -h|grep 'sonar' 
drwxrwxr-x 6 bdc bdc 4.0K 10-23 13:52 sonar
-rw-rw-r-- 1 bdc bdc 7.0M 10-23 13:00 sonar.jpi
[bdc@T5073 plugins]$ 

重启jenkins

重启jenkins后进入系统管理页面,如果一切正常,请进行下一步,如果有提示sonarqube scanner插件因为某某某依赖没安装成功,多半是因为某个依赖不存在或者版本太低了,安装对应版本即可,在已安装插件出现下图所示即为安装成功
在这里插入图片描述

配置sonar服务器

1. 进入系统管理》找到SonarQube servers,点击Add SonarQube
在这里插入图片描述
2.填写下面信息

Name:随意
Server URL:sonar部署的地址,http://xxx:9000/sonar
Server authentication token:sonar最初登录提示创建的令牌,可以在sonar点击头像》安全,生成新的令牌

3.填写完成后如下图,token一栏和网上很多文章不一致,我用的jenkins是2.1+版本的,因此需要点击添加,这个在Jenkins是全局凭证,其他地方可以使用

在这里插入图片描述
4.创建凭证,点击添加按钮,如下图,类型要选择Secret text,在Secret栏输入sonar令牌即可,然后回去就可以选择了
在这里插入图片描述

配置项目,添加sonar canner扫描

1.在jenkins》项目配置》构建环境,选择刚刚创建的凭证
在这里插入图片描述
2.点击项目》配置》构建》增加构建步骤,选择Execute SonarQube Scanner
在这里插入图片描述
3.这里可能会提示Jenkins needs to know where your SonarQube Scanner is installed.,如果有,进入系统管理》全局工具配置》找到Sonarqube Scanner,然后按照下图配置,Name随意,SONAR_RUNNER_HOME是sonar-scanner的安装目录(如何安装请继续往下看)
在这里插入图片描述
4.配置sonar扫描参数
注意:下图中sonar.host.url、sonar.login、sonar.password三项可以不配置(如果前面选择了凭证)
在这里插入图片描述
参数说明
>sonar.host.url sonar访问地址
>sonar.login sonar登录账号(也可以通过token方式)
>sonar.password sonar登录密码
>sonar.projectKey sonar网站上显示的关键字
>sonar.projectName sonar网站上显示的工程名称
>sonar.projectVersion sonar网站上显示的项目版本号
>sonar.language 项目使用编程语言
>sonar.java.binaries 存放编译class文件路径
>sonar.sources 扫描代码存放路径,相对于当前配置工程的路径

5.立即构建,如果sonar扫描出错,有可能是默认的jdk版本与sonar canner不匹配,我这里做的比较暴力,直接修改sonar-scanner启动文件的命令
修改文件/opt/xxx/product/bdc/sonar/sonar-scanner-4.2.0.1873-linux/bin/sonar-scanner最末尾
在这里插入图片描述
6.执行扫描
通过下面命令行可以执行扫描

/opt/xxx/product/bdc/sonar/sonar-scanner-4.2.0.1873-linux/bin/sonar-scanner scan \
 -Dsonar.sources=/opt/aspire/product/bdc/.jenkins/workspace/BDC/ \
 -Dsonar.language=java \
 -Dsonar.projectVersion=1.4.9.0 \
 -Dsonar.java.binaries=/opt/aspire/product/bdc/.jenkins/workspace/BDC/ \
 -Dsonar.projectKey=bdc \
 -Dsonar.host.url=http://10.12.3.123:9000/sonar \
 -Dsonar.login=admin \
 -Dsonar.password=admin \
 -Dsonar.projectName=bdc \
 -Dsonar.projectBaseDir=/opt/aspire/product/bdc/.jenkins/workspace/BDC \

如果扫描出现了svn授权问题,可以在sonar》配置》SCM》关闭SCM,再重新扫描(也可以配置账号密码,jenkins前面已经从svn拉取了代码,因此这里没有必要开启svn),扫描成功
在这里插入图片描述
7.通过第6步服务器内命令扫描成功后,可以在jenkins点击立即构建,要进行第6步是为了跳过svn更新项目构建过程
在这里插入图片描述
8.访问sonar
在这里插入图片描述
上一篇《Jenkins集成Sonar(2/3)登录并添加token进行扫描+汉化》

第一篇《Jenkins集成Sonar(1/3)安装sonar并启动》

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羽轩GM

您的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值