当前位置:网站首页>devops学习(六)Jenkins 持续部署-版本选择
devops学习(六)Jenkins 持续部署-版本选择
2022-07-29 23:05:00 【默子昂】
在上一章我们将gitlab 上传的代码通过jenkins打成jar包后发送到目标主机进行构建镜像操作
这里存在一个问题,我们每次构建的时候都是拿到最新的代码去构建的,那么包永远都是最新的latest,然而最新的包反而bug可能最多,为了版本发布的可靠性,我们会在测试中选定一个最稳定的版本去发布,所以当我们认为当前版本是可用的,我们就给他打一个标签tag
1、定义参数化构建
在参数化构建,让我们在构建的时候选择一个版本去进行部署,这里的tag标签来自于gitlab定义的

2、定义构建之前切换分支操作
这里操作的意思是,让我们在做maven编译之前先切换到指定版本的分支上
切换分支操作
git checkout $tag //这里的$tag 的值是取自我们上面获取到gitlab标签的值 
3、在gitlab上添加版本标签
下图中我们在gitlab上打了一个标签v1.0.0版本,这个相当于是打了一个快照
将当前代码从master分支上复刻了一份,起名叫做v1.0.0 然后jenkins自动识别到这个标签
我们在根据这个标签手动选择我们要发布的版本是那个
标签名称 v1.0.0
代码来自于 master分支 
4、修改idea代码重新上传
上面我们设置了一个稳定版本v1.0.0 现在假设我们程序更新到v2.0.0版本
为了区分不同的版本,我们先修改代码上传后,将新版本也打一套标签
mytest-dev.yaml
17 image: mytest:v2.0.0 //修改镜像版本为v2.0.0handler.java
59 String data = "<html><body><h1>Hello Jenkins! --Version v2.0.0</h1></body></html>"; 
5、修改项目构建后打镜像的操作
我们在发送到指定服务器上后有几步是用来构建镜像的,当时写死了这里改一下
cd /usr/local/test/docker
mv ../target/*.jar ./
docker build -t ${JOB_NAME}:${tag} .
kubectl apply -f mytest-dev.yaml说明
${JOB_NAME} jenkins项目的名称 mytest
${tag} 标签名称 取自gitlab的分支标签 
如上,我们就可以在不同版本中随意滚动了( •̀ ω •́ )y
边栏推荐
- Analysis of miscellaneous diseases such as DNS domain name hijacking in instant messaging mobile terminal development
- C语言实现扫雷(9*9)游戏——详解
- Single chip ds1302 clock program (51 single chip liquid crystal display program)
- Raspberry pie wiringPi 2.6 installed on solving gpio readall command mistakes
- 【2023校招刷题】笔试及面试中常考知识点、手撕代码总结
- C语言初阶-初识C语言
- 【LeetCode-SQL每日一练】——2. 第二高的薪水
- 玻璃表面修饰DNA|DNA修饰的上转换纳米材料|DNA-UCNPs实验原理
- NetWorker Knowledge Corner|Easy to get an offer [Networker Interview Questions] What is the difference between a Layer 3 switch and a router?
- Gao Shu Xia|Triple Integral Exercises|Uncle Gao Shu|Handwritten Notes
猜你喜欢

@Accessors 注解详解

In 2022, the latest Gansu construction staff (material staff) mock exam questions and answers

纳米金颗粒修饰核酸产品|碳纳米管载核酸-DNA/RNA材料|解析说明

DNA修饰的上转换纳米材料|聚胞苷酸Poly-C DNA修饰的氧化石墨烯|解析说明

Redis和MySQL如何保持数据一致性

互联网基石:TCP/IP四层模型,由浅入深直击原理!

使用 Neuron 接入 Modbus TCP 及 Modbus RTU 协议设备

【openlayers】地图【二】

MQTT over QUIC: The Next-Generation IoT Standard Protocol Brings New Impetus to Messaging Scenarios

超分之RVRT
随机推荐
纳米金颗粒修饰核酸产品|碳纳米管载核酸-DNA/RNA材料|解析说明
嵌入式系统驱动初级【1】——内核模块上_编译方法
文档贡献与写作必读-OpenHarmony开发者文档风格指南
2022年最新甘肃建筑施工焊工(建筑特种作业)模拟题库及答案解析
【leetcode】剑指 Offer II 006. 排序数组中两个数字之和(二分查找、双指针)
【leetcode】50. Pow(x, n)(中等)(快速幂)
【面试:并发篇34:Unsafe】
真offer收割机 第一弹~大厂如何考察候选人?(附答案详解)
cached_network_image 多个图片卡顿崩溃
MySQL Interview Questions: Detailed Explanation of User Amount Recharge Interview Questions
PLSQL Developer安装和配置
SAP UI5 FileUploader 的隐藏 iframe 设计明细
The Sandbox Partners with Gravity to Bring RO Ragnarok to the Metaverse
Access the company intranet
互联网基石:TCP/IP四层模型,由浅入深直击原理!
r‘w‘r‘w‘r‘w‘r
C语言初阶-初识C语言
The sequence table of the linear table (the dry goods are full of sharing ~ contains all the function codes of the sequence table~
运动步数抽奖小程序开发
DNA修饰的上转换纳米材料|聚胞苷酸Poly-C DNA修饰的氧化石墨烯|解析说明