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。

相关推荐
阿伟实验室4 分钟前
debian10部署简易web服务器
运维·服务器·前端
北京阿法龙科技有限公司22 分钟前
AR眼镜赋能跨国设备运维:打破空间隔阂,重构高效协作|阿法龙XR云平台
运维·重构·ar
Kathleen1001 小时前
计算机网络——应用层
运维·服务器·计算机网络
java_logo1 小时前
BUSYBOX Docker 容器化部署指南
java·运维·python·nginx·docker·容器·运维开发
Mr.H01272 小时前
多线程文件拷贝:从原理到实现的完整指南
linux·运维
橘子真甜~2 小时前
C/C++ Linux网络编程5 - 网络IO模型与select解决客户端并发连接问题
linux·运维·服务器·c语言·开发语言·网络·c++
e***74952 小时前
Nginx 常用安全头
运维·nginx·安全
oushaojun22 小时前
Linux内核KGDB进阶:源码级调试实战演练(转)
linux·运维·kgdb
Jason_Orton3 小时前
笔记本电脑触摸板失灵另类解决办法(I2C HID设备黄色感叹号)
运维·服务器·计算机网络·网络安全·电脑
艾德金的溪3 小时前
内网限制最大5G该如何传输30G的资源包
运维