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),查看容器对应的镜像名称,已经根据版本号,动态发生了变化。

相关推荐
yingdonglan15 分钟前
鸿蒙跨端Flutter学习——GridView高级功能
linux·运维·windows
遇见火星28 分钟前
在Linux中使用journalctl命令进行日志分析和管理详细教程
linux·运维·服务器·journalctl
xuefuhe35 分钟前
RHEL9 yum install etcd Error: Unable to find a match: etcd
linux·运维·centos
我送炭你添花1 小时前
树莓派部署 GenieACS 作为终端TR-069 ACS(自动配置服务器)的详细规划方案
运维·服务器·网络协议
华农第一蒟蒻1 小时前
一次服务器CPU飙升的排查与解决
java·运维·服务器·spring boot·arthas
NGINX开源社区1 小时前
借助 Okta 和 NGINX Ingress Controller 实现 K8s OpenID Connect 身份验证
运维·nginx·kubernetes
郝亚军1 小时前
如何在windows11和Ubuntu linux之间互传文件
linux·运维·ubuntu
j_xxx404_2 小时前
Linux:进程状态
linux·运维·服务器
济6172 小时前
linux 系统移植(第二十三期)---- 进一步完善BusyBox构建的根文件系统---- Ubuntu20.04
linux·运维·服务器
程序员 _孜然2 小时前
openkylin、ubuntu等系统实现串口自动登录
linux·运维·ubuntu