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。

相关推荐
Jerry.张蒙14 分钟前
AI工具Opencode助力SAP提质增效实践
大数据·运维·服务器·人工智能·运维开发
鹤落晴春8 小时前
RH124问答3:从命令行管理文件
linux·运维·服务器
guslegend8 小时前
大模型驱动大数据SRE智能运维
大数据·运维
遇见火星9 小时前
Docker Compose 完全入门:一键启动所有容器
运维·docker·容器·docker compose
小啊曼9 小时前
CIO实战方法论_11_组织变革打破部门墙
运维
❀搜不到9 小时前
远程服务器codex使用本地cc-switch的deepseek api
运维·服务器
虾壳云官方10 小时前
OpenClaw 2.7.9 Windows 一键部署教程:零基础也能搭建 AI 自动化助手
运维·人工智能·windows·自动化·openclaw·openclaw一键部署
江南风月10 小时前
WGCLOUD保姆级教程最新版整理
运维·zabbix·运维开发·prometheus·日志审计
志栋智能10 小时前
超自动化巡检:知识沉淀与团队协作的新载体
大数据·运维·网络·数据库·人工智能·自动化
vsropy12 小时前
Ubuntu网络图标消失问题/有网络问号
linux·运维·ubuntu