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。

相关推荐
.柒宇.14 分钟前
共享文件服务NFS服务器:NFS实战详解
linux·运维·服务器
一叶之秋141223 分钟前
通信之道:解锁Linux进程间通信的无限可能(三)
linux·运维·服务器
闻道且行之36 分钟前
frp+Nginx 内网穿透详细配置教程
运维·网络·nginx·frp·内网穿透
ictI CABL37 分钟前
Linux环境下Tomcat的安装与配置详细指南
linux·运维·tomcat
小陈99cyh1 小时前
最新ubuntu22.04服务器上安装vmware虚拟机,附vmware的安装包
linux·运维·服务器·vmware
白菜欣1 小时前
Linux权限
linux·运维·c++
卵男(章鱼)2 小时前
系统终端命令对比大全(Linux发行/macOS/Windows)
linux·运维·服务器·windows·macos
草明2 小时前
Linux主流发行版全面修复Spectre/Meltdown后续漏洞
linux·运维·服务器
HABuo2 小时前
【linux网络(一)】初识网络, 理解协议&四层网络模型&网络传输流程
linux·运维·服务器·网络·c++·ubuntu·centos
SNOWPIAOP2 小时前
从MAC电脑复制qwen3.5:4b 的OLLAMA模型到LINUX电脑实践
linux·运维·macos·manifest·ollama·blobs