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。

相关推荐
xxxxxxllllllshi34 分钟前
【Elasticsearch查询DSL API完全指南:从入门到精通】
java·大数据·elasticsearch·搜索引擎·面试·全文检索·jenkins
平生不喜凡桃李2 小时前
Linux网络层:IP
linux·运维·tcp/ip
塔能物联运维2 小时前
物联网设备运维中的自动化合规性检查与策略执行机制
java·运维·物联网·struts·自动化
阿方索2 小时前
虚拟化技术实践指南:KVM 与 VMware ESXi 部署全流程
linux·运维·服务器
PellyKoo2 小时前
Docker容器中中文文件名显示乱码问题完美解决方案
运维·docker·容器
有谁看见我的剑了?3 小时前
Rocky 9 单机安装elastic-9.1.5
运维·elk
Gss7773 小时前
ELK 日志管理系统相关内容总结
运维·elk
水冗水孚3 小时前
Jenkins系统管理页面错误:反向代理设置有误
jenkins
半梦半醒*3 小时前
ELK1——elasticsearch
linux·运维·数据仓库·elasticsearch·centos
妹妹够啦4 小时前
宝塔部署-Nginx配置
运维·nginx·junit