首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【云原生】DevOps(四):集成Sonar Qube

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

原创
作者头像
是Dream呀
发布2025-12-04 14:47:12
发布2025-12-04 14:47:12
1830
举报
文章被收录于专栏:总结xyp总结xyp

一、Sonar Qube介绍

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

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

Sonar Qube的UI界面

null

二、Sonar Qube环境搭建

1. 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-compoe.yml

version: "3.1" services: db: image: postgres container_name: db ports: - 5432:5432 networks: - sonarnet environment: POSTGRES_USER: sonar POSTGRES_PASSWORD: sonar sonarqube: image: sonarqube:8.9.3-community container_name: sonarqube depends_on: - db ports: - "9000:9000" networks: - sonarnet environment: SONAR_JDBC_URL: jdbc:postgresql://db:5432/sonar SONAR_JDBC_USERNAME: sonar SONAR_JDBC_PASSWORD: sonar networks: sonarnet: driver: bridge

  • 启动容器

docker-compose up -d

  • 需要设置sysctl.conf文件信息

设置vm.max_map_count

null

null

并执行命令刷新

sysctl -p

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

容器日志

null

  • 访问Sonar Qube首页

登录

null

  • 还需要重新设置一次密码

重新设置密码

null

  • Sonar Qube首页

Sonar Qube首页

null

2. 安装中文插件

安装中文插件

null

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

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

重启按钮

null

重启后查看效果

首页效果

null

三、Sonar Qube基本使用

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

1. Maven实现代码检测

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

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

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

执行代码检测

null

  • 查看Sonar Qube界面检测结果

Sonar Qube检测结果

null

2. Sonar-scanner实现代码检测

  • 下载Sonar-scanner:下载网址下载4.6.x版本即可,要求Linux版本
  • 解压并配置sonar服务端信息
    1. 由于是zip压缩包,需要安装unzip解压插件

yum -y install unzip

  1. 解压压缩包

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

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

配置服务端信息

null

  • 执行命令检测代码

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

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

查看日志信息

null

  • 查看SonarQube界面检测结果

检测结果

null

四、Jenkins集成Sonar Qube

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

1. Jenkins安装插件

下载Sonar Qube插件

null

null

null

2. Jenkins配置Sonar Qube

  • 开启Sonar Qube权限验证

开启Sonar Qube权限校验

null

  • 获取Sonar Qube的令牌

获取令牌

null

  • 配置Jenkins的Sonar Qube信息

null

null

null

3. 配置Sonar-scanner

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

配置Sonar-scanner

null

  • 配置任务的Sonar-scanner

配置任务的Sonar-scanner

null

4. 构建任务

构建任务

null

null

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Sonar Qube介绍
  • 二、Sonar Qube环境搭建
    • 1. Sonar Qube安装
    • 2. 安装中文插件
  • 三、Sonar Qube基本使用
    • 1. Maven实现代码检测
    • 2. Sonar-scanner实现代码检测
  • 四、Jenkins集成Sonar Qube
    • 1. Jenkins安装插件
    • 2. Jenkins配置Sonar Qube
    • 3. 配置Sonar-scanner
    • 4. 构建任务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档