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。

相关推荐
ChristXlx4 小时前
Linux安装redis(虚拟机适用)
linux·运维·redis
源文雨4 小时前
PVE实现USB硬盘盒在备份前自动上电/结束后自动断电脚本
linux·运维·服务器·备份·perl·pve·usb硬盘盒
ascarl20104 小时前
准确--CentOS 7 配置用户资源限制(nofile / nproc)
linux·运维·centos
云和数据.ChenGuang4 小时前
运维工程师技术教程之ELK日志监控
运维·服务器·elk·运维技术·数据库运维工程师
m0_738120724 小时前
渗透测试——靶机DC-4详细渗透教程
运维·网络·安全·web安全·php
秋深枫叶红4 小时前
嵌入式第三十六篇——linux系统编程——线程
linux·运维·服务器·学习
kk5794 小时前
ubuntu20.04运行todesk显示网络连接异常无网络
linux·运维·服务器
福大大架构师每日一题4 小时前
nginx 1.29.4 发布:支持 HTTP/2 后端与加密客户端问候(ECH),多项功能优化与修复
运维·nginx·http
晴天¥4 小时前
Oracle中的表空间
运维·数据库·oracle