【云原生】4.3 DevOps 精讲篇——Sonar Qube
2023-04-18 16:21:10 时间
CSDN话题挑战赛第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 服务端信息
注: 由于是
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
不积跬步无以至千里,趁年轻,使劲拼,给未来的自己一个交代!向着明天更好的自己前进吧!
相关文章
- 【技术种草】cdn+轻量服务器+hugo=让博客“云原生”一下
- CLB运维&运营最佳实践 ---访问日志大洞察
- vnc方式登陆服务器
- 轻松学排序算法:眼睛直观感受几种常用排序算法
- 十二个经典的大数据项目
- 为什么使用 CDN 内容分发网络?
- 大数据——大数据默认端口号列表
- Weld 1.1.5.Final,JSR-299 的框架
- JavaFX 2012:彻底开源
- 提升as3程序性能的十大要点
- 通过凸面几何学进行独立于边际的在线多类学习
- 利用行动影响的规律性和部分已知的模型进行离线强化学习
- ModelLight:基于模型的交通信号控制的元强化学习
- 浅谈Visual Source Safe项目分支
- 基于先验知识的递归卡尔曼滤波的代理人联合状态和输入估计
- 结合网络结构和非线性恢复来提高声誉评估的性能
- 最佳实践丨云开发CloudBase多环境管理实践
- TimeVAE:用于生成多变量时间序列的变异自动编码器
- 具有线性阈值激活的神经网络:结构和算法
- 内网渗透之横向移动 -- 从域外向域内进行密码喷洒攻击