Jenkins集成Sonar Qube
前文目录
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相关推荐
- jenkins 集成sonar qube
重要:一定要下载sonar qube7.9以下版本,其7.9以上版本不支持mysql,否则 白安装了. 四.在jenkins中,使用 pipelilne与sonar qube结合使用 (1)pipel ...
- 【devops】七、集成Sonar Qube
目录 说明 七.集成Sonar Qube 7.1 Sonar Qube介绍 7.2 Sonar Qube环境搭建 7.2.1 Sonar Qube安装--docker安装 7.2.2 访问sonarq ...
- 【云原生】DevOps(四):集成Sonar Qube
本文目录: 一.Sonar Qube介绍 二.Sonar Qube环境搭建 1. Sonar Qube安装 2. 安装中文插件 三.Sonar Qube基本使用 1. Maven实现代码检测 2. S ...
- 持续集成实践二之Jenkins与Sonar Qube集成
2019独角兽企业重金招聘Python工程师标准>>> 前言 作为一名码农,曾几何时,无数次挑灯夜战,只为第二天为客户稳定演示系统,奈何到关键时候,会发现代码中会有很多坑,这个时 ...
- 基于docker使用jenkins集成sonar
前言 基于jenkins可以完成项目的可持续集成,同时由于jenkins强大的插件管理功能,可以集成众多的其他插件完成项目管理中的其他功能,比如可以使用jenkins集成sonar完成对项目构建的时候 ...
- Jenkins集成Sonar(3/3)- 安装SonarQube Scanner进行扫描(离线安装)
安装方式选择: 在线安装:直接在Jenkins>系统管理>插件管理>可选插件,搜索Sonar 离线安装:下载sonar插件,将插件解压放入~/.jenkins/plugins/下即可 ...
- jenkins集成sonar
1.sonar介绍 sonar是sonarqube的缩写,是一款用来检查代码质量的开源软件. sonar由两部分组成: ----sonarqube(监控端,sonar server):用来收集监控信息 ...
- 【云原生】4.3 DevOps 精讲篇——Sonar Qube
CSDN话题挑战赛第2期 参赛话题:学习笔记 目录 一.前言 二.SonarQube 安装 1.介绍 2.安装 三.Sonar Qube基本使用 1.安装中文插件 2.Maven 代码检测 3.Son ...
- Windows 环境 Jenkins集成构建SonarQube
关于Windows搭建SonarQube_Mysql的相关操作先点击下面的链接,进行跳转. 操作手册: Windows搭建SonarQube_Mysql 启动Jenkins有2种方式: 第1种:jav ...
最新文章
- 十分钟看懂什么是VoLTE【包学包会,否则退款】
- 基于C#开发的浏览器隐身工具-上班别乱开
- 奖池90万!阿里天池发起肺部CT多病种智能诊断大赛
- CCF201803-5 二次求和(100分题解链接)
- 在Oracle数据库启动时提示没有权限 ora-01031:insufficient privileges
- 如何在magento后台增加一个自定义订单状态
- 2021-10-28 ACWING826 单链表
- sqk,按分钟统计平均值
- HelloWorld的Java代码
- Linux: fd_set用法
- 【jQuery】货币格式化
- C# AHP层次分析法:一致性校验
- 解决最新小马激活工具导致主页劫持问题
- The Things Network LoRaWAN Stack V3 学习笔记
- 树莓派卸载系统自带应用增大硬盘空间
- Presto 0.224个人笔记
- 基于C++仿真的MIPS32指令系统虚拟计算机设计与实现
- 学习三部曲之(一):学生为什么学习不好?
- Python使用ffmpeg完美解决方案(避坑必看)
- 淘宝双十一前夕上线一键排查违禁词和全店商品工具
热门文章
- 在万米高空享受高速网络,霍尼韦尔与天地互联提供机上高速互联解决方案
- wordsReminder——自定义背单词小工具
- onbeforeunload 拿不到鼠标事件_鼠标、键盘卖不动了?这个“大学生最爱”的品牌业绩下滑后出大招了...
- 网络原理基础知识点总结
- 怎么配置网站静态为tink php,ThinkPHP 伪静态配置
- [转]成功人士的时间管理 博恩.崔西
- 孙悟空写给白骨精的信
- 【深度学习实验】第二次:Python财政收入影响因素分析及预测
- 耳穴诊疗长期跟踪0524
- mat2cell函数解析