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。

相关推荐
vanvivo1 小时前
Nginx中如何配置WebSocket代理?
运维·websocket·nginx
阿常呓语1 小时前
Linux命令 date详解
linux·运维·服务器·linux command
Java小白笔记1 小时前
Nginx中配置IP白名单动态刷新
运维·tcp/ip·nginx
小尔¥2 小时前
Nginx性能优化与监控
运维·nginx·性能优化
margu_1682 小时前
【Docker】nscenter命令详解
运维·docker·容器
ckm紫韵2 小时前
影刀自动化工作流RPA采集教程
运维·自动化·rpa
REDcker3 小时前
Linux Core Dump 配置与分析指南
linux·运维·服务器
IMPYLH3 小时前
Linux 的 chcon 命令
linux·运维·服务器
苦逼IT运维4 小时前
SVN 仓库目录迁移,仓库 “降级” 成子目录实战
linux·运维·ci/cd·svn·运维开发
阿拉斯攀登4 小时前
第 13 篇 输入设备驱动(触摸屏 / 按键)开发详解,Linux input 子系统全解析
android·linux·运维·驱动开发·rk3568·瑞芯微·rk安卓驱动