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

这篇具有很好参考价值的文章主要介绍了【云原生】4.3 DevOps 精讲篇——Sonar Qube。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

目录

一、前言

 二、SonarQube 安装

1、介绍

2、安装

 三、Sonar Qube基本使用

1、安装中文插件

2、Maven 代码检测

3、Sonar-scanner 代码检测

三、SonarQube 整合 Jenkinsb

1、Jenkins 安装插件

2、构建任务


一、前言

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

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

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

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

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

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

 

 三、Sonar Qube基本使用

1、安装中文插件

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

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

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

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

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

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

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
追加一些配置

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

执行命令检测代码

# 在项目所在目录执行以下命令 
~/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 ——> 追加配置——> 添加凭据

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

注:Secret 在SonarQube里面 “生成令牌” 
进入 Jenkins ,系统管理——>全局工具配置
sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

 

2、构建任务

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库

 

下一篇预告:集成Harbor  

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

sonarqube 语言支持,云原生系列,devops,云原生,运维,数据库文章来源地址https://www.toymoban.com/news/detail-818060.html

到了这里,关于【云原生】4.3 DevOps 精讲篇——Sonar Qube的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【云原生进阶之PaaS中间件】第四章RabbitMQ-4.3-如何保证消息的可靠性投递与消费

            根据RabbitMQ的工作模式,一条消息从生产者发出,到消费者消费,需要经历以下4个步骤: 生产者将消息发送给RabbitMQ的Exchange交换机; Exchange交换机根据Routing key将消息路由到指定的Queue队列; 消息在Queue中暂存,等待消费者消费消息; 消费者从Queue中取出消息消费

    2024年03月11日
    浏览(67)
  • 【云计算•云原生】5.云原生之初识DevOps

    软件开发必须包含两个团队:开发团队和运维团队 开发团队负责开发项目,系统迭代更新 运维团队负责项目测试以及部署上线,维持系统稳定运行 一个软件周期中是由这两个团队相互协作完成的,开发人员写好一部分功能后交给运维人员,就需要等带运维人员的反馈,导致

    2024年02月10日
    浏览(47)
  • 统计学-R语言-4.3

    本篇介绍的是数值型数据怎么进行数据可视化,本篇介绍的有直方图、茎叶图、箱线图。 直方图(Histogram)用于描述连续型变量的频数分布,实际应用中常用于考察变量的分布是否对称;是否服从某种分布类型,如正态分布 直方图以矩形的面积表示各组段的频数或频率, 各

    2024年01月16日
    浏览(44)
  • 云原生DevOps基础与实战

    DevOps 是一系列做法和工具 ,可以使 IT 和软件开发团队之间的 流程实现自动化 。其中,随着敏捷软件开发日趋流行, 持续集成 (CI) 和 持续交付 (CD) 已经成为该领域一个理想的解决方案。在 CI/CD 工作流中,每次集成都通过自动化构建来验证,包括编码、发布和测试,从而帮

    2024年01月23日
    浏览(42)
  • 云原生周刊:DevOps-resources

    推荐一个 GitHub 仓库 “DevOps-resources”。这个 GitHub 仓库包含了学习和实践 DevOps 所需的资源列表。它包括涉及云计算、容器化、微服务、自动化和安全问题的文章、书籍、课程和工具。资源按最佳实践、代码基础设施和安全性等类别进行排序,使得用户可以更轻松地找到与他

    2024年02月09日
    浏览(58)
  • 【云原生 • DevOps】一文掌握持续集成工具 Jenkins

    目录 一、持续集成工具 Jenkins 介绍 1. 什么是持续集成 2. Jenkins 介绍 二、Jenkins 的安装与部署 1. 安装 Jenkins 2. 本地访问 Jenkins 3. 插件的安装 4. 卸载 Jenkins 三、Jenkins 全局配置 1. Git 的安装与配置 2. JDK 的安装与配置 3. maven 的安装与配置 三、将代码上传至 Git 服务器 1. Gogs 的搭

    2024年02月03日
    浏览(59)
  • 【云原生 • DevOps】一文掌握容器管理工具 Rancher

    本章学习目标: 掌握容器管理工具 Rancher 的安装与使用; 掌握基于 Rancher 的应用部署、扩容缩容操作。 目录 一、容器管理工具 Rancher 介绍 二、Rancher 的安装 三、Rancher 的初始化 1. 添加环境 2. 添加主机 3. 添加应用 四、应用部署 1. Mysql 部署 2. RabbitMQ 部署 3. Redis 部署 四、扩

    2023年04月22日
    浏览(50)
  • 【云原生】DevOps之使用Gitlab Runner进行CICD

    在很久之前的文章中,我们已经搭建过了Jenkins+Docker+Harbor+SpringCloud微服务持续集成自动化部署,今天来介绍Gitlab原生的Gitlab Runner CICD功能。 Gitlab实现CICD的方式有很多,比如通过Jenkins,通过Gitlab Runner等,今天主要介绍后者。Gitlab在安装的时候,就默认包含了Gitlab CI的能力,但

    2024年02月03日
    浏览(48)
  • 快速构建一个 GitLab + Jenkins + Harbor 的云原生 DevOps 环境

    今天我们要搭建一条怎样的工具链呢?且看效果图: GitLab + Jenkins + Harbor Toolchain Workflow 首先我们需要完成 GitLab、Jenkins 和 Harbor 三个工具的部署; 接着我们需要在 GitLab 上创建一个代码库,并且在 Jenkins 上创建相应的流水线,这个流程最好也自动化(确实可以自动化); 然后

    2024年02月15日
    浏览(45)
  • 【Linux精讲系列】——vim详解

    📚lovewold少个r博客主页     ⚠️ 本文重点 : c++入门第一个程序和基本知识讲解 👉 【C-C++入门系列专栏】 : 博客文章专栏传送门 😄 每日一言 :宁静是一片强大而治愈的神奇海洋! 目录 ​作者主页 目录 前言 Linux编辑器vim的使用 vim的基本概念 vim的基本操作 进入vim编辑

    2024年02月03日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包