前文目录

Jenkins安装部署使用_南宫乘风的博客-CSDN博客

Jenkins入门配置_南宫乘风的博客-CSDN博客

Sonar Qube介绍

Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。

Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来

Sonar Qube环境搭建

Sonar Qube安装

Sonar Qube在7.9版本中已经放弃了对MySQL的支持,并且建议在商业环境中采用PostgreSQL,那么安装Sonar Qube时需要依赖PostgreSQL。

并且这里会安装Sonar Qube的长期支持版本8.9

  • 拉取镜像

docker pull postgres
docker pull sonarqube:8.9.3-community

编写docker-compose.yml

version: "3.1"
services:db:image: postgrescontainer_name: dbports:- 5432:5432networks:- sonarnetenvironment:POSTGRES_USER: sonarPOSTGRES_PASSWORD: sonarsonarqube:image: sonarqube:8.9.3-communitycontainer_name: sonarqubedepends_on:- dbports:- "9000:9000"networks:- sonarnetenvironment:SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonarSONAR_JDBC_USERNAME: sonarSONAR_JDBC_PASSWORD: sonar
networks:sonarnet:driver: bridge

启动容器

docker-compose up -d

需要设置sysctl.conf文件信息

设置vm.max_map_count

并执行命令刷新

sysctl -p

重新启动需要一定时间启动,可以可以查看容器日志,看到如下内容代表启动成功

容器日志

访问Sonar Qube首页

还需要重新设置一次密码

Sonar Qube首页

安装中文插件

安装成功后需要重启,安装失败重新点击install重装即可。

安装成功后,会查看到重启按钮,点击即可

重启后查看效果

Sonar Qube基本使用

Sonar Qube的使用方式很多,Maven可以整合,也可以采用sonar-scanner的方式,再查看Sonar Qube的检测效果

Maven实现代码检测

  • 修改Maven的settings.xml文件配置Sonar Qube信息

<profile><id>sonar</id><activation><activeByDefault>true</activeByDefault></activation><properties><sonar.login>admin</sonar.login><sonar.password>admin123456</sonar.password><sonar.host.url>http://172.17.1.22:9000</sonar.host.url></properties>
</profile>

在代码位置执行命令:mvn sonar:sonar

查看Sonar Qube界面检测结果

Sonar-scanner实现代码检测

  • 下载Sonar-scanner:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/

    下载4.6.x版本即可,要求Linux版本

  • 解压并配置sonar服务端信息

    • 由于是zip压缩包,需要安装unzip解压插件

yum -y install unzip

解压压缩包

unzip sonar-scanner-cli/sonar-scanner-cli-4.6.0.2311-linux.zip

配置sonarQube服务端地址,修改conf下的sonar-scanner.properties

执行命令检测代码

# 在项目所在目录执行以下命令
~/sonar-scanner/bin/sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=demo -Dsonar.projectKey=java -Dsonar.java.binaries=target/

查看日志信息

查看SonarQube界面检测结果

Jenkins集成Sonar Qube

Jenkins继承Sonar Qube实现代码扫描需要先下载整合插件

Jenkins安装插件

Jenkins配置Sonar Qube

开启Sonar Qube权限验证

获取Sonar Qube的令牌

配置Jenkins的Sonar Qube信息

配置Sonar-scanner

  • 将Sonar-scaner添加到Jenkins数据卷中并配置全局配置

配置任务的Sonar-scanner

~/sonar-scanner/bin/sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=demo -Dsonar.projectKey=java -Dsonar.java.binaries=target/#主要下面这个
sonar.projectname=${JOB_NAME}
sonar.projectKey=${JOB_NAME}
sources=./
sonar.java.binaries=target/

构建任务

已经上传镜像包

注意:我这里代码编译这一块,缺少那个 切换分支编译,如果有需要,需要自己配置

Jenkins集成Sonar Qube相关推荐

  1. jenkins 集成sonar qube

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

  2. 【devops】七、集成Sonar Qube

    目录 说明 七.集成Sonar Qube 7.1 Sonar Qube介绍 7.2 Sonar Qube环境搭建 7.2.1 Sonar Qube安装--docker安装 7.2.2 访问sonarq ...

  3. 【云原生】DevOps(四):集成Sonar Qube

    本文目录: 一.Sonar Qube介绍 二.Sonar Qube环境搭建 1. Sonar Qube安装 2. 安装中文插件 三.Sonar Qube基本使用 1. Maven实现代码检测 2. S ...

  4. 持续集成实践二之Jenkins与Sonar Qube集成

    2019独角兽企业重金招聘Python工程师标准>>> 前言   作为一名码农,曾几何时,无数次挑灯夜战,只为第二天为客户稳定演示系统,奈何到关键时候,会发现代码中会有很多坑,这个时 ...

  5. 基于docker使用jenkins集成sonar

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

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

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

  7. jenkins集成sonar

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

  8. 【云原生】4.3 DevOps 精讲篇——Sonar Qube

    CSDN话题挑战赛第2期 参赛话题:学习笔记 目录 一.前言 二.SonarQube 安装 1.介绍 2.安装 三.Sonar Qube基本使用 1.安装中文插件 2.Maven 代码检测 3.Son ...

  9. Windows 环境 Jenkins集成构建SonarQube

    关于Windows搭建SonarQube_Mysql的相关操作先点击下面的链接,进行跳转. 操作手册: Windows搭建SonarQube_Mysql 启动Jenkins有2种方式: 第1种:jav ...

最新文章

  1. 十分钟看懂什么是VoLTE【包学包会,否则退款】
  2. 基于C#开发的浏览器隐身工具-上班别乱开
  3. 奖池90万!阿里天池发起肺部CT多病种智能诊断大赛
  4. CCF201803-5 二次求和(100分题解链接)
  5. 在Oracle数据库启动时提示没有权限 ora-01031:insufficient privileges
  6. 如何在magento后台增加一个自定义订单状态
  7. 2021-10-28 ACWING826 单链表
  8. sqk,按分钟统计平均值
  9. HelloWorld的Java代码
  10. Linux: fd_set用法
  11. 【jQuery】货币格式化
  12. C# AHP层次分析法:一致性校验
  13. 解决最新小马激活工具导致主页劫持问题
  14. The Things Network LoRaWAN Stack V3 学习笔记
  15. 树莓派卸载系统自带应用增大硬盘空间
  16. Presto 0.224个人笔记
  17. 基于C++仿真的MIPS32指令系统虚拟计算机设计与实现
  18. 学习三部曲之(一):学生为什么学习不好?
  19. Python使用ffmpeg完美解决方案(避坑必看)
  20. 淘宝双十一前夕上线一键排查违禁词和全店商品工具

热门文章

  1. 在万米高空享受高速网络,霍尼韦尔与天地互联提供机上高速互联解决方案
  2. wordsReminder——自定义背单词小工具
  3. onbeforeunload 拿不到鼠标事件_鼠标、键盘卖不动了?这个“大学生最爱”的品牌业绩下滑后出大招了...
  4. 网络原理基础知识点总结
  5. 怎么配置网站静态为tink php,ThinkPHP 伪静态配置
  6. [转]成功人士的时间管理 博恩.崔西
  7. 孙悟空写给白骨精的信
  8. 【深度学习实验】第二次:Python财政收入影响因素分析及预测
  9. 耳穴诊疗长期跟踪0524
  10. mat2cell函数解析