Jenkins基于tag的构建

文章目录

Jenkins参数化构建设置

选择参数化构建:

在gradle构建之前,增加执行shell的步骤:

把新增的shell框挪到gradle构建之前,

最后保存

设置gitlab tag

这样在每次改了代码提交后,可以在新的时间点上设置新的tag。

在工程中维护构建的版本

gitlab上打的标签,在jenkins中执行构建时,可以从环境参数获取git参数传过来的信息,也就是这里的tag参数:

build.gradle中获取环境参数:

groovy 复制代码
ext.PROJECT_VERSION = System.getenv('tag')

docker-compose.yml中获取环境参数:

yaml 复制代码
...
services:
  hello:
    image: hello:${tag}
    ...

按指定tag的版本启动服务

当gradle的docker插件按tag打出版本后,要在目标服务器上启动相应版本的应用,这里需要在docker-compose up时指定一个tag相关的环境变量,而在jenkins服务器发送命令时,可以这样传递环境变量:

对于同一个tag,如果要更新功能,可以先在gitlab上删除tag,提交代码后重新再打相同的tag,再jenkins构建该tag,此时docker image prune -f会清理废弃的image。

相关推荐
charlie11451419120 分钟前
嵌入式Linux驱动开发——新字符设备驱动 API 概览
linux·运维·驱动开发
DFT计算杂谈1 小时前
VASP官方教程 TRIQS DFT+DMFT计算教程
运维·css·自动化·html·css3
2301_803554521 小时前
Linux里面的文件描述符和windows里面的句柄
linux·运维·服务器
IT摆渡者1 小时前
linux 系统安全检查
运维·网络·经验分享·笔记
云动课堂2 小时前
【运维实战】Nginx 高性能Web服务 · 一键自动化部署方案 (适配银河麒麟 V10 / openEuler / CentOS 7/8)
运维·前端·nginx
KnowSafe3 小时前
证书自动化解决方案哪家更可靠?
运维·服务器·安全·https·自动化·ssl
hsjcjh3 小时前
2026实测:Gemini 3.1镜像站函数调用如何实现自动化运维工单?国内免费镜像教程
运维·自动化
日取其半万世不竭3 小时前
用云服务器搭建 Nextcloud,告别网盘限速和隐私泄露
运维·服务器
KnowSafe3 小时前
2026年证书自动化解决方案选型指南
运维·安全·自动化·ssl·itrustssl
ZGi.ai3 小时前
企业Agent编排实战:条件分支+并行执行+异常处理全覆盖
运维