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

本文介绍了SonarQube的安装与基本使用,包括通过Docker部署SonarQube,安装中文插件,使用Maven和Sonar-scanner进行代码质量检查。此外,还详细讲解了SonarQube如何与Jenkins集成,实现自动化代码扫描。通过这些步骤,可以有效提升代码规范性和安全性。

CSDN话题挑战赛第2期
参赛话题:学习笔记

目录

一、前言

 二、SonarQube 安装

1、介绍

2、安装

 三、Sonar Qube基本使用

1、安装中文插件

2、Maven 代码检测

3、Sonar-scanner 代码检测

三、SonarQube 整合 Jenkinsb

1、Jenkins 安装插件

2、构建任务


一、前言

之前写的一个项目(可以看看之前的博客)代码时十分的冗余,在 4.2 写到 DevOps 的原理及安装需要的插件,最后的流程图就是下面的。但是如果以后的项目代码没有一定的规范,很容易形成所谓的“屎山”。代码如何的质量检测,就要用到下面的SonarQube了。

 二、SonarQube 安装

1、介绍

Sonar Qube是一个开源的代码分析平台,支持Java、Python、PHP、JavaScript、CSS等25种以上的语言,可以检测出重复代码、代码漏洞、代码规范和安全性漏洞的问题。
Sonar Qube可以与多种软件整合进行代码扫描,比如Maven,Gradle,Git,Jenkins等,并且会将代码检测结果推送回Sonar Qube并且在系统提供的UI界面上显示出来。

官网地址

2、安装

Sonar Qube 7.9 版本中已经放弃了对 MySQL 的支持,并且建议在商业环境中采用 PostgreSQL, 那么 安装Sonar Qube 时需要依赖 PostgreSQL
拉取镜像
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

以 ip 地址 + 设置的端口号就能进入页面了

修改密码

默认的账号与密码都是admin

 第一次登录,系统会要求更改密码,这里就看自己的习惯修改密码了

 

 三、Sonar Qube基本使用

1、安装中文插件

简称汉化,安装之后记得重启下

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

2、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>

IDEA 控制台检测

mvn sonar:sonar

 如果有“异味”,就是我们代码不规范的地方了

3、Sonar-scanner 代码检测

下载 Sonar-scanner
解压并配置 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 整合 Jenkinsb

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

1、Jenkins 安装插件

进入 Jenkins ,系统管理——> 系统配置 ——> 找到 Sonar ——> 追加配置——> 添加凭据

注:Secret 在SonarQube里面 “生成令牌” 
进入 Jenkins ,系统管理——>全局工具配置

 

2、构建任务

 

下一篇预告:集成Harbor  

 不积跬步无以至千里,趁年轻,使劲拼,给未来的自己一个交代!向着明天更好的自己前进吧!

评论 69
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿追

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值