DevOps之集成Sonar Qube

2022-07-05  本文已影响0人  羋学僧

集成Sonar Qube

1、 Sonar Qube介绍

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

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

Sonar Qube的UI界面

2、 Sonar Qube环境搭建

2.1、 Sonar Qube安装

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

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

vim /etc/sysctl.conf
设置vm.max_map_count

并执行命令刷新

sysctl -p
2.2、 安装中文插件
安装中文插件

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

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

重启按钮

重启后查看效果

首页效果

3、 Sonar Qube基本使用

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

3.1、 Maven实现代码检测
3.2、 Sonar-scanner实现代码检测

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

mv sonar-scanner-4.7.0.2747-linux/ sonar-scanner
mv sonar-scanner /usr/local/docker/jenkins_docker/data/
vim sonar-scanner.properties
|                        配置服务端信息                        |
| :----------------------------------------------------------: |
| ![](https://img.haomeiwen.com/i14270006/3e4decd0e8785bee.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)|
# 在项目所在目录执行以下命令
cd /usr/local/docker/jenkins_docker/data/workspace/DevOpsDemo/

/usr/local/docker/jenkins_docker/data/sonar-scanner/bin/sonar-scanner -Dsonar.sources=./ -Dsonar.projectname=demo -Dsonar.projectKey=java -Dsonar.java.binaries=target/ -Dsonar.login=910f1ea7a8314944fe31581244aa0283342bef58

Ps:主要查看我的sonar-scanner执行命令的位置

查看日志信息

4、 Jenkins集成Sonar Qube

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

4.1、 Jenkins安装插件
下载Sonar Qube插件
4.2、 Jenkins配置Sonar Qube
4.3、 配置Sonar-scanner
4.4、 构建任务
构建任务
上一篇 下一篇

猜你喜欢

热点阅读