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 小时前
乐迪信息:智慧煤矿输送带安全如何保障?AI摄像机全天候识别
大数据·运维·人工智能·安全·自动化·视觉检测
7hhhhhhh1 小时前
驱动开发-Linux启动
运维·服务器
Mr. Cao code2 小时前
Dockerfile 指令详解与实战指南
linux·运维·ubuntu·docker·容器
失因3 小时前
Docker 镜像结构与 Dockerfile 案例
运维·docker·云原生·容器·tomcat
郝学胜-神的一滴4 小时前
Linux 文件描述符详解
linux·运维·服务器
JAVA学习通4 小时前
JetLinks设备接入的认识与理解
运维·docker·容器·rocketmq
诗书画唱5 小时前
Fabric.js 完全指南:从入门到实战的Canvas绘图引擎详解
运维·javascript·fabric
zhz52145 小时前
ArcGIS Pro 进程管理:自动化解决方案与最佳实践
运维·python·arcgis·自动化
狂野小青年6 小时前
Docker部署的gitlab升级的详细步骤(升级到17.6.1版本)
运维·docker·容器·gitlab升级
盛满暮色 风止何安7 小时前
防火墙的类别和登录Web的方法
linux·运维·服务器·网络·网络协议·tcp/ip·网络安全