10-DevOps-Jenkins参数化构建实现多版本发布

在之前的Jenkins配置中,固定写死了程序的版本号,实际情况是随着版本的不断迭代,版本号也是不断变化的,版本号由代码仓库(GitLab)设置。

当前Jenkins配置是固定写的1.0,本节我们要把它改成动态的,随着代码的版本自动更新。

Jenkins配置参数化构建过程

在构建的地方,新增sheel,然后按照下图的顺序,执行脚本。

获取到tag的版本号

git checkout $tag

将原来固定写死1.0的地方,都改成 $tag

配置GitLab

1.0.0版本的tag就创建好了。

修改代码,创建新tag

为了看到不同版本的区别,现在把代码改动一下,形成一个新的tag版本。

提交代码到GitLab仓库

新建tag1.0.1

此时GitLab的tag列表中会有两个版本的tag

Jenkins构建

回到Jenkins,选择使用参数构建,发现会多出选择tag版本的步骤。

选择1.0.1版本进行构建

等待构建完成

访问应用程序

http://192.168.1.11:81/

程序返回的就是最新1.0.1版本的内容,说明版本已经更新成功。

在目标服务器上(192.168.0.11),查看容器对应的镜像名称,已经根据版本号,动态发生了变化。

相关推荐
cakeism8254 小时前
金融行业 DevOps 平台推荐:2026年主流方案对比与 Gitee 选型解析
金融·gitee·devops
IT大白鼠4 小时前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 5 篇 · 多模态与虚拟化AI 能「看」图:多模态与虚拟化管理
linux·运维·人工智能
阿狗童鞋5 小时前
Nginx反向代理与负载均衡实战指南
运维·nginx·负载均衡
Zhou1411365 小时前
Git_02_GitLab协作与CI_CD
git·ci/cd·gitlab
IT大白鼠5 小时前
彭大帅的AI运维助手——自然语言管理 Linux 集群与网络设备——第 2 篇 · 安全守规矩的 AI:分级安全管控是灵魂
linux·运维·人工智能
闭包不眠5 小时前
端侧AI能省多少服务器钱:把账换成字节算
运维·服务器·图像处理·人工智能·计算机视觉
风华同学5 小时前
免密SSH登录Ubuntu
linux·运维·ubuntu
꯭自꯭闭꯭5 小时前
达梦守护集群手工切换及故障切换
linux·运维·服务器·数据库
哈__5 小时前
日志散在多台服务器怎么查?用 Promtail + Loki + Grafana 搭一套集中检索平台
运维·服务器·grafana
CHENKONG_CK5 小时前
恶劣工况下 RFID 赋能喷涂产线自动化分拣与作业
运维·网络·人工智能·自动化·汽车·rfid·rfid