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

相关推荐
Decay__1 小时前
SQL Server 数据库全栈运维实战系列 — 合集索引(24 篇)
运维·数据库·sql·mysql·架构
Decay__9 小时前
12_MySQL InnoDB 内存与锁调优 —— Buffer Pool、redo log、隔离级别与锁等待
运维·数据库·sql·mysql·架构
java_logo11 小时前
Docker 部署 Dify:轻松搭建 LLM 应用开发平台
运维·docker·容器
方便面不加香菜12 小时前
Docker Container -- 综合实战案例详解
运维·docker·容器
海洋之恒13 小时前
GitHub Actions 自动化:5 个真实运维提效案例
运维·自动化·github
迪康coolmu15 小时前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
qq_3718021117 小时前
Ubuntu Linux中安装WorkBuddy
linux·运维·服务器·ubuntu
逃逸线LOF18 小时前
服务网关Gateway
java·运维·gateway
分布式存储与RustFS19 小时前
OpenSearch 的索引快照别只留本地:用 repository-s3 存进 RustFS
运维·云原生·开源·对象存储·分布式存储·s3·性能基准