DevOps B站学习版(二)
学习地址:
01.DevOps的诞生_哔哩哔哩_bilibili
https://www.bilibili.com/video/BV1Pt4y1H7Zq/?p=1&vd_source=1f09c23f556b3d6a9b7706f8db12fa54%E3%80%81
========正文开始========
找到这个地方,修改

可以写成基于标签拉取和构建工程,下面也选择Tag即可。

之前我们都是直接使用Maven打包,但是这次我们需要在打包之前做一些事情,需要把我们的代码版本切换到指定的位置:

首先,选择
其次,可以拖动这个模块,把它移动到前面,如图:

因为我们需要先切换Tag,再去进行打包和其他的一些操作。
这里使用了一个$符号,用来引进前面的tag名字

经过这样的操作之后,代码就会被切换到这个这个版本,再次被打包,最后应用,保存即可。
下一步,我们可以在git仓库中,创建一个tag标签,最简单的即可

然后再回到idea代码中,修改一些内容:
同时也修改dockerfile内容:
最后再创建一个v2.0.0的tag。
至此,我们的代码一共有两个标签了,一个是v1.0.0一个是v2.0.0,现在再去Jenkins中构建代码,就会发现是可选的,如图:

至此,版本切换的操作完成了,例如2.0版本有一些重大的bug之类的,我们就可以回退到1.0,也就实现了最基础的CICD,完成了入门。

现在我们的代码已经实现了自动构建部署,但是我们还需要丰满一下我们的框架,引入了质量检测模块,也就是sonarqube。
SonarQube的安装:
SonarQube就是一个开源的代码分析平台,可以检测代码中是否有重复的内容、魔法值等。
1.拉取镜像


2.写配置文件,内容如下:


3.运行这个镜像:docker-compose up -d
4.访问网址,默认账号密码都是admin:

配置SonarQube:
我们需要给SonarQube装一些插件

可以先来一个中文插件:

然后我们现在就开始测试一下我们的代码质量:
第一种方式,采用Maven的方式测试,
修改Maven的settings文件就可以了,加上下述内容:

重新构建项目,在命令行里面,输入

完成后,进入到页面,就可以看到结果:

第二种方式,使用sonar-scanner :
可以百度搜索安装包,下图也提供了网址:

同时,也给服务器安装一个解压命令:

下载好之后,用unzip 解压即可。
解压好之后可以移动到Jenkins的目录下:

在使用之前,要对sonar-scanner进行一些配置,cd进入conf 修改。

进来之后发现文件夹里面只有一个配置文件,修改地址即可。

完成之后,我们现在就需要使用sonar-scanner去检测我们的workspace里面的内容

会提示需要token,我们去配置即可

点击我的账号


然后再次检测,又出现了问题:

是因为没有指定sonar.projectKey,指定即可。
把SonarQube整合到Jenkins中
……
相关文章:
DevOps B站学习版(二)
学习地址: 01.DevOps的诞生_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Pt4y1H7Zq/?p1&vd_source1f09c23f556b3d6a9b7706f8db12fa54%E3%80%81 正文开始 找到这个地方,修改 可以写成基于标签拉取和构建工程,下面也选择Tag即可…...
MySQL(一)基本架构、SQL语句操作、试图
MySQL系列文章 MySQL(一)基本架构、SQL语句操作、试图 MySQL(二)索引原理以及优化 MySQL(三)SQL优化、Buffer pool、Change buffer MySQL(四)事务原理及分析 MySQL(五&a…...
MySQL事务基础知识
文章目录 一、事务简介二、事务操作1.查看事务提交方式2.设置事务提交方式3.开启事务4.提交事务5.回滚事务 三、事务四大特性ACID四、并发事务的问题五、并发事务隔离级别六、代码实例1.脏读实例2.不可重复读实例3.幻读的实例4.串行化的实现 一、事务简介 事务是一组操作的集合…...
form表单禁止浏览器自动填充密码
因为用户修改密码的时候,谷歌浏览器、edge等浏览器,总是自动将保存的密码填充到重置密码输入框中,给用户使用带来困扰。原因是因为你在登录的时候选择记住了账号和密码了,所以就会把信息存在浏览器里面,当你在修改密码的时候,由于form表单的 type="password" 所…...
ios oc button 设置
Button调整内部的子控件的位置...
山西电力市场日前价格预测【2023-07-17】
日前价格预测 预测明日(2023-07-17)山西电力市场全天平均日前电价为335.50元/MWh。其中,最高日前电价为377.51元/MWh,预计出现在06: 00。最低日前电价为271.94元/MWh,预计出现在13: 30。 价差方向预测 1:实…...
vue3功能实现
在vue2中,要实现一些方法(增删改查)一般都是写在一起的。如下图所示: 但是在vue3中,实现一个方法需要用到很多文件。 方法定义方法如下: export function classSign(phone: string) {return sign_reques…...
微服务系列文章 之 SpringCloud中遇到的一些bug
1、There was a problem with the instance info replicator 错误原因: 该服务尝试将自己作为客服端注册解决办法: 在application.yml配置文件中,设置 # 注册Eureka服务 eureka:client:# Eureka服务注册中心会将自己作为客户端来尝试注册它自…...
Linux——权限
目录 1.Shell运行原理——外壳程序 2.权限 2.1对人操作 2.2对角色和文件操作 3.常见权限问题 1.Shell运行原理——外壳程序 首先我们要明确一个概念,我们不是直接访问操作系统。为什么? 对于Windows我们是使用GUI进行操作,Shell对于Li…...
[英语单词] components;
*[kәm’pәunәnt] n. 元件, 组件, 成分 a. 组成的, 构成的 【计】 组件 【化】 组分 【医】 成分; 组元(神经元组) 有很多地方使用这个单词,在组成整体时,作为单位一内的占有比率。那为什么不用portion? 这样每一个组成部分都是一个compon…...
【观察者模式】 ——每天一点小知识
💧 观察者模式 \color{#FF1493}{观察者模式} 观察者模式💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞见云的博客🎐 🐳 《数据结构与算法》专栏的文章图文并茂🦕…...
el-ment ui 表格组件table实现列的动态插入功能
在实际需求中我们经常遇到各种奇葩的需求,不足为奇。每个项目的需求各不相同,实现功能的思路大致是一样的。 本文来具体介绍怎么实现table表格动态插入几列。 首先实现思路有2种, 1. 插入的位置如果是已知的,我知道在哪个标题的…...
gitLab修改密码后,sourceTree如何修改密码
修改gitLab密码后,在sourceTree提交或者更新代码会报:fatal: Authentication failed for~ 简单粗暴的方法: 到C:\Users\用户\AppData\Local\Atlassian\SourceTree,找到passwd文件,并删除; 重启sourceTre…...
sop是什么意思
标准作业程序 执行复杂的日常事务所设计的内部程序 内容 所谓SOP,是 Standard Operating Procedure三个单词中首字母的大写 ,即标准作业程序,指将某一事件的标准操作步骤和要求以统一的格式描述出来,用于指导和规范日常的工作。…...
【C#】Kestrel和IIS服务器下的同步与异步配置
最近在回看自己写的代码时,发现服务配置里最开头写了两段代码,第一感觉,这是啥功能,太久有点生疏了,经过一顿搜索和回顾,简单整理如下 目录 1、Kestrel服务器1.1、跨平台1.2、高性能1.3、可扩展性1.4、安全…...
GoLand导入redis的github包失败
GoLand导入redis依赖失败 网上有下载guryburd和gomodel的,这里按照官网文档安装依赖 以下命令在项目的根目录执行 初始化一个Go模块: go mod init github.com/my/repoTo install go-redis/v9:要安装go-redis/v9: go get github.com/redis/…...
Elasticsearch原理剖析
一、 Elasticsearch结构 Elasticsearch集群方案由EsMaster、EsClient和EsNode1、EsNode2、EsNode3、EsNode4、EsNode5、EsNode6、EsNode7、EsNode8、EsNode9进程组成,如下图所示,模块说明如表下所示。 说明如表: 名称说明ClientClient使用H…...
数据在内存中的存储1(C语言进阶)
数据在内存中的存储 1.数据类型介绍1.1类型的基本归类:整形家族浮点数家族构造类型指针类型空类型 2.整形在内存中的存储2.1 原码、反码、补码2.2 大小端介绍为什么有大端和小端: 我们今天来学习数据在内存中的存储 1.数据类型介绍 前面我们已经学习了基…...
Kubernetes API Server 中启用 pprof 接口
要在 Kubernetes API Server 中启用 pprof 接口,你需要在 API Server 的启动参数或配置文件中进行相应的配置。以下是一些常见的方法: 通过启动参数启用 pprof 接口:在运行 API Server 的命令中,添加 -runtime-configapi/alltrue …...
Docker 私有仓库 harbor 搭建
🎈 作者:Linux猿 🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我,关注我,有问题私聊! &…...
BepInEx跨平台部署完全指南:从环境配置到性能优化
BepInEx跨平台部署完全指南:从环境配置到性能优化 【免费下载链接】BepInEx Unity / XNA game patcher and plugin framework 项目地址: https://gitcode.com/GitHub_Trending/be/BepInEx 部署挑战自测表 在开始部署前,请先回答以下问题…...
Biome 代码检查:别再等 ESLint 慢吞吞了
Biome 代码检查:别再等 ESLint 慢吞吞了 毒舌时刻这代码写得跟网红滤镜似的——仅供参考。各位前端同行,咱们今天聊聊 Biome。别告诉我你还在用 ESLint Prettier,那感觉就像用老爷车跑高速——能跑,但慢得让人崩溃。 为什么你需要…...
音频处理必备:5分钟搞懂IIR和FIR滤波器的区别与应用场景
音频处理必备:5分钟搞懂IIR和FIR滤波器的区别与应用场景 在音乐制作和音频工程领域,滤波器是塑造声音的核心工具之一。无论是调整均衡、消除噪声还是创造特殊音效,都离不开对IIR和FIR这两类滤波器的深入理解。许多刚入门的音频工程师常常困惑…...
告别终端命令:Applite如何让macOS应用管理变得轻松有趣
告别终端命令:Applite如何让macOS应用管理变得轻松有趣 【免费下载链接】Applite User-friendly GUI macOS application for Homebrew Casks 项目地址: https://gitcode.com/gh_mirrors/ap/Applite 如果你曾因复杂的终端命令而对Homebrew望而却步,…...
从零到一:小智AI嵌入式merge.bin固件制作实战解析
1. 为什么需要merge.bin文件? 第一次接触小智AI机器人开发的朋友可能会疑惑:为什么官方提供的固件是一个单独的merge.bin文件,而自己编译出来的却是多个分散的bin文件?这个问题要从嵌入式系统的启动流程说起。 想象一下电脑开机过…...
SMART-AM40玩转轻量桌面:Armbian下xfce4从安装到远程控制的完整指南
SMART-AM40轻量化桌面革命:Armbian系统下xfce4环境全流程部署与远程控制实战 在单板计算机领域,SMART-AM40凭借其Rockchip处理器和出色的能效比,正成为轻量化桌面解决方案的新宠。本文将带您完成从Armbian系统基础配置到xfce4桌面环境部署&am…...
全新升级:基于Vue3新标准的企业级后台综合解决方案实战(附源码课件)
先放资源:https://pan.quark.cn/s/a99f364f3e28 引言:后台前端开发的工程化跃迁之路 在当前互联网行业的技术迭代周期中,Web前端大厂工程师的能力模型正在经历从"页面仔"到"工程架构师"的深刻变革。单纯掌握Vue2选项式API和基础CRUD开发已无法满足阿里…...
深入解析GD32的I/O重映射:从部分映射到完全映射的实战指南
1. 认识GD32的I/O重映射功能 第一次接触GD32的I/O重映射时,我也是一头雾水。简单来说,这个功能允许我们把某个外设的引脚从默认位置"搬家"到其他引脚上。想象一下你家的电路插座,原本电视机插在客厅的插座上,现在通过延…...
BFG Repo Cleaner终极指南:10倍速清理Git仓库的完整方案
BFG Repo Cleaner终极指南:10倍速清理Git仓库的完整方案 【免费下载链接】bfg-repo-cleaner Removes large or troublesome blobs like git-filter-branch does, but faster. And written in Scala 项目地址: https://gitcode.com/gh_mirrors/bf/bfg-repo-cleaner…...
从“触觉神经”到“智能反射”:六维力传感器如何重塑人形机器人的交互范式
1. 六维力传感器:人形机器人的"触觉神经" 想象一下你闭着眼睛伸手去拿桌上的水杯。在指尖接触杯壁的瞬间,你的皮肤会感知压力变化,神经信号以毫秒级速度传递到大脑,手指肌肉随即调整力度——既不会捏碎杯子,…...
