当前位置: 首页 > news >正文

DevOps B站学习版(二)

学习地址:

01.DevOps的诞生_哔哩哔哩_bilibilihttps://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 部署挑战自测表 在开始部署前,请先回答以下问题&#xf…...

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望而却步&#xff0c…...

从零到一:小智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. 六维力传感器:人形机器人的"触觉神经" 想象一下你闭着眼睛伸手去拿桌上的水杯。在指尖接触杯壁的瞬间,你的皮肤会感知压力变化,神经信号以毫秒级速度传递到大脑,手指肌肉随即调整力度——既不会捏碎杯子,…...