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。

相关推荐
醇氧1 分钟前
Window 查看是否安装wsl
linux·运维·服务器
cyw89982 分钟前
docker 安装 ollama 并运行
运维·docker·容器
进击切图仔2 分钟前
docker compose 的简单使用
运维·docker·容器
ljh5746491195 分钟前
chomd 命令的解释和常用用法和高级用法
linux·运维·服务器
Johnstons14 分钟前
当网络运维遇上全流量回溯:一次关于「看得见」的实践
运维·网络
zzh08124 分钟前
web技术与nginx网站环境部署
运维·前端·nginx
人间打气筒(Ada)32 分钟前
zabbix报警多媒介(企业微信、钉钉)
运维·钉钉·企业微信·zabbix·监控·告警媒介
一水鉴天34 分钟前
整体设计的自动化部署完整方案设计与程序实现 (完善版)20260311 之2 (豆包助手)
运维·人工智能·自动化
returnthem37 分钟前
Linux 测试环境完整部署手册(CentOS 7 + Ubuntu 20.04 双版本)
linux·运维·服务器
kiku181837 分钟前
linux系统安全及应用
linux·运维·系统安全