安装方式选择:

  • 在线安装:直接在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并启动》

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

  1. 基于docker使用jenkins集成sonar

    前言 基于jenkins可以完成项目的可持续集成,同时由于jenkins强大的插件管理功能,可以集成众多的其他插件完成项目管理中的其他功能,比如可以使用jenkins集成sonar完成对项目构建的时候 ...

  2. Jenkins集成Sonar Qube

    前文目录 Jenkins安装部署使用_南宫乘风的博客-CSDN博客 Jenkins入门配置_南宫乘风的博客-CSDN博客 Sonar Qube介绍 Sonar Qube是一个开源的代码分析平台,支持J ...

  3. 在Linux系统下XAMPP安装与配置(可离线安装)

    在Linux系统下XAMPP安装与配置(可离线安装) XAMPP网址:https://www.apachefriends.org/zh_cn/index.html 首先找到自己需要安装的版本下载地址( ...

  4. jenkins集成sonar

    1.sonar介绍 sonar是sonarqube的缩写,是一款用来检查代码质量的开源软件. sonar由两部分组成: ----sonarqube(监控端,sonar server):用来收集监控信息 ...

  5. jenkins 集成sonar qube

    重要:一定要下载sonar qube7.9以下版本,其7.9以上版本不支持mysql,否则 白安装了. 四.在jenkins中,使用 pipelilne与sonar qube结合使用 (1)pipel ...

  6. pip安装更新、第三方库对应的python解释器版本、pip安装第三方库,压缩包离线安装,pycharm快捷安装及pycharm中terminal的使用,timeout超时报错

    文章有点长,但是很详细,还望大家耐心看 之前在安装python的文章中已经给大家配置了pip环境变量(不了解的点这里去看看),这里就能直接在cmd窗口,不用切换路径,就能使用pip了. 首先 使用pi ...

  7. [Docker] Centos7 安装docker-18.03.1-ce(离线安装)

    一.引言 为了实现离线安装docker-18.03.1-ce这个想法,我遍寻网络,什么 RPM 搜索大法啦,yum local install 方法啦,都是复杂到不行. 二.终极解决 直接上网址: I ...

  8. centos7离线安装oracle11g,CentOS 7.5离线安装Oracle 11gR2

    操作系统:CentOS 7.5 64bit,安装方式为gnome Desktop,附加系统工具以及兼容X Window安装包 Oracle版本:11gR2 Oracle11gR2官方文档链接 安装系统 ...

  9. office365在线安装太慢,换离线安装终于搞定

    offcie365在线安装了一天了,貌似卡死不动了. 找度娘,终于找到靠谱的方法--离线安装. 其实官方都有提供方法,只是自己没注意,详细看这(飞机票) 这里,我把方法简要整理下. 前提:彻底卸载电脑 ...

最新文章

  1. 昨天电脑问题 补昨日8-3复习内容 异常与文件操作
  2. 基于神策用户画像,在线教育企业线索标签体系搭建及培育全流程解析
  3. Asp.net中的HttpModule和HttpHandler的简单用法
  4. Java开发中如何用JDBC连接起数据库?
  5. 进程线程协程对比(通俗)
  6. ubuntu install wiznote
  7. gis坐标北京54转WGS84坐标系
  8. java邮箱的表达式_Java邮箱正则表达式
  9. 360全景倒车影像怎么看_360全景影像怎么看
  10. 查看linux网络tcp,linux-查看网络原始数据工具tcpdump
  11. Unity用GL接口实现画格子
  12. 横版射击,王者归来|Cocos精品《合金弹头OL》
  13. Macbook Pro 外接显示器后,鼠标滑动延迟
  14. 《清单革命》的读后感优秀范文3900字
  15. B站尚硅谷React入门教程
  16. 幼儿园计算机教案 认识画图,信息技术教案《认识画图》
  17. python学习-109-多个CSV文件的合并
  18. 政府采购网上商城是不是未来的趋势
  19. 当医生的农场主--《走出非洲》
  20. 读书笔记:《自卑与超越》

热门文章

  1. python照片转彩色手绘_python实现图片彩色转化为素描
  2. MySQL-表的创建
  3. 025 京东网站案例
  4. 校园综合平台-微信小程序版(整整两个月暑假的成果啊 (•ิ_•ิ))
  5. 什么是顶级域名、根域/二级域名、一级域名/子域名
  6. 毕业设计-校园招聘系统
  7. STM32开发基础知识——OLED开发基础
  8. 软件测试之测试用例的设计
  9. html的浮动跟标准流,网页布局的 标准流 浮动流 与 定位流
  10. CeSi 进程集中管理部署