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。

相关推荐
不愿透露姓名的大鹏9 分钟前
MySQL Binlog配置优化全攻略
运维·服务器·数据库·mysql·adb
●VON13 分钟前
本地大模型部署实录:从Docker环境搭建到Open WebUI公网访问
运维·docker·容器·大模型
IMPYLH20 分钟前
Linux 的 mkdir 命令
linux·运维·服务器·bash
网络研究员28 分钟前
Facebook无法向他人发送消息?2026原因解析与解决思路
运维·服务器
电子阿板28 分钟前
ubuntu虚拟机查看tusb8041扩展坞及U盘的设置方法
linux·运维·ubuntu
迷路爸爸18031 分钟前
Docker 入门学习笔记 07:用一个多服务案例真正理解 Docker Compose
运维·笔记·学习·spring cloud·docker·容器·eureka
孤影过客31 分钟前
Linux下的PostgreSQL集群演进指南
linux·运维·postgresql
Arvin62735 分钟前
Jenkins 任务执行完成后会kill掉的衍生进程
运维·servlet·jenkins
雄哥00743 分钟前
linux redis升级⼿册-源码部署版
linux·运维·redis
水云桐程序员1 小时前
电子自动化技术(EDA技术)FPGA概述
运维·fpga开发·自动化